From 6ba12e97369f55dc064fc299054f463a02146ddb Mon Sep 17 00:00:00 2001 From: Florian Metz Date: Tue, 22 Oct 2024 15:28:02 +0200 Subject: [PATCH] feat: unocss module (#1043) Co-authored-by: Aaron --- .github/workflows/release.yml | 1 + docs/.vitepress/config.ts | 2 + docs/unocss.md | 1 + packages/unocss/README.md | 47 ++ packages/unocss/package.json | 55 ++ packages/unocss/src/index.ts | 68 +++ packages/unocss/tsconfig.json | 4 + packages/wxt-demo/package.json | 2 + packages/wxt-demo/src/common/style.css | 4 - packages/wxt-demo/src/entrypoints/popup.html | 2 +- .../src/entrypoints/ui.content/index.ts | 3 +- .../src/entrypoints/ui.content/style.css | 5 - packages/wxt-demo/src/modules/unocss.ts | 1 + packages/wxt-demo/wxt.config.ts | 29 ++ pnpm-lock.yaml | 490 ++++++++++++++++++ 15 files changed, 703 insertions(+), 11 deletions(-) create mode 100644 docs/unocss.md create mode 100644 packages/unocss/README.md create mode 100644 packages/unocss/package.json create mode 100644 packages/unocss/src/index.ts create mode 100644 packages/unocss/tsconfig.json delete mode 100644 packages/wxt-demo/src/common/style.css create mode 100644 packages/wxt-demo/src/modules/unocss.ts diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5dc10afd8..4ab2d2c5d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,6 +13,7 @@ on: - module-solid - module-svelte - module-vue + - unocss - wxt jobs: diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 87f398dc6..4a649ece3 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -11,6 +11,7 @@ import { meta, script } from './utils/head'; import { version as wxtVersion } from '../../packages/wxt/package.json'; import { version as i18nVersion } from '../../packages/i18n/package.json'; import { version as autoIconsVersion } from '../../packages/auto-icons/package.json'; +import { version as unocssVersion } from '../../packages/unocss/package.json'; const title = 'Next-gen Web Extension Framework'; const titleSuffix = ' – WXT'; @@ -82,6 +83,7 @@ export default defineConfig({ navItem(`wxt/storage — ${wxtVersion}`, '/storage'), navItem(`@wxt-dev/auto-icons — ${autoIconsVersion}`, '/auto-icons'), navItem(`@wxt-dev/i18n — ${i18nVersion}`, '/i18n'), + navItem(`@wxt-dev/unocss — ${unocssVersion}`, '/unocss'), ]), ]), ], diff --git a/docs/unocss.md b/docs/unocss.md new file mode 100644 index 000000000..8e407a351 --- /dev/null +++ b/docs/unocss.md @@ -0,0 +1 @@ + diff --git a/packages/unocss/README.md b/packages/unocss/README.md new file mode 100644 index 000000000..b1ba5a620 --- /dev/null +++ b/packages/unocss/README.md @@ -0,0 +1,47 @@ +# WXT UnoCSS + +Use UnoCSS in your WXT extension! + +## Usage + +Install the package: + +```sh +npm i --save-dev @wxt-dev/unocss unocss +pnpm i -D @wxt-dev/unocss unocss +yarn add --dev @wxt-dev/unocss unocss +bun i -D @wxt-dev/unocss unocss +``` + +Add the module to `wxt.config.ts`: + +```ts +export default defineConfig({ + modules: ['@wxt-dev/unocss'], +}); +``` + +Now in your entrypoint, import UnoCSS: + +```ts +import 'uno.css'; +``` + +> [!IMPORTANT] +> While in dev mode, you may see a warning about `uno.css` not being found. This is because in development, we don't know which files should be injected with UnoCSS styles. The warning can be safely ignored as the styles will be properly applied during the build process. + +## Configuration + +The module can be configured via the `unocss` config: + +```ts +export default defineConfig({ + modules: ['@wxt-dev/unocss'], + unocss: { + // Will only apply unocss for popup/main.ts + entrypoints: ['popup/main.ts'], + }, +}); +``` + +Options have JSDocs available in your editor, or you can read them in the source code: [`UnoCSSOptions`](./src/index.ts). diff --git a/packages/unocss/package.json b/packages/unocss/package.json new file mode 100644 index 000000000..c50ab9d49 --- /dev/null +++ b/packages/unocss/package.json @@ -0,0 +1,55 @@ +{ + "name": "@wxt-dev/unocss", + "description": "UnoCSS integration for WXT", + "version": "1.0.0", + "repository": { + "type": "git", + "url": "git+https://github.com/wxt-dev/wxt.git", + "directory": "packages/unocss" + }, + "homepage": "http://wxt.dev/guide/unocss.html", + "keywords": [ + "wxt", + "module", + "unocss", + "css" + ], + "author": { + "name": "Florian Metz", + "email": "me@timeraa.dev" + }, + "license": "MIT", + "type": "module", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.mts", + "default": "./dist/index.mjs" + } + }, + "files": [ + "dist" + ], + "scripts": { + "build": "buildc -- unbuild", + "check": "buildc --deps-only -- check" + }, + "peerDependencies": { + "unocss": ">=0.60.0", + "wxt": ">=0.19.0" + }, + "devDependencies": { + "@aklinker1/check": "^1.4.5", + "oxlint": "^0.9.9", + "publint": "^0.2.11", + "typescript": "^5.6.2", + "unbuild": "^2.0.0", + "unocss": "^0.63.3", + "wxt": "workspace:*" + }, + "dependencies": { + "defu": "^6.1.4", + "fast-glob": "^3.3.2" + } +} diff --git a/packages/unocss/src/index.ts b/packages/unocss/src/index.ts new file mode 100644 index 000000000..18ebf51cb --- /dev/null +++ b/packages/unocss/src/index.ts @@ -0,0 +1,68 @@ +import 'wxt'; +import { defineWxtModule } from 'wxt/modules'; +import defu from 'defu'; +import UnoCSS from 'unocss/vite'; + +export default defineWxtModule({ + name: '@wxt-dev/unocss', + configKey: 'unocss', + async setup(wxt, options) { + const resolvedOptions = defu, UnoCSSOptions[]>( + options, + { + enabled: true, + excludeEntrypoints: ['background'], + configOrPath: undefined, + }, + ); + + if (!resolvedOptions.enabled) + return wxt.logger.warn(`\`[unocss]\` ${this.name} disabled`); + + const excludedEntrypoints = new Set(resolvedOptions.excludeEntrypoints); + if (wxt.config.debug) { + wxt.logger.debug( + `\`[unocss]\` Excluded entrypoints:`, + [...excludedEntrypoints].join(', '), + ); + } + + wxt.hooks.hook('vite:devServer:extendConfig', (config) => { + config.plugins?.push(UnoCSS()); + }); + + wxt.hooks.hook('vite:build:extendConfig', async (entries, config) => { + if (entries.every((entry) => excludedEntrypoints.has(entry.name))) return; + config.plugins?.push(UnoCSS(resolvedOptions.configOrPath)); + }); + }, +}); + +/** + * Options for the UnoCSS module + */ +export interface UnoCSSOptions { + /** + * Enable UnoCSS + * @default true + */ + enabled?: boolean; + /** + * List of entrypoint names that UnoCSS is not used in. By default, the UnoCSS + * vite plugin is added to all build steps, but this option is used to exclude + * it from specific builds. + * @example ["popup", "options"] + * @default [] + */ + excludeEntrypoints?: string[]; + /** + * The path to your `unocss.config.ts` file, relative to , or inline configuration. + */ + configOrPath?: Parameters>[0]; +} + +declare module 'wxt' { + export interface InlineConfig { + unocss?: UnoCSSOptions; + } +} diff --git a/packages/unocss/tsconfig.json b/packages/unocss/tsconfig.json new file mode 100644 index 000000000..9b2dc061d --- /dev/null +++ b/packages/unocss/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../tsconfig.base.json", + "exclude": ["node_modules/**", "dist/**"] +} diff --git a/packages/wxt-demo/package.json b/packages/wxt-demo/package.json index 8bec67848..5ea0a2819 100644 --- a/packages/wxt-demo/package.json +++ b/packages/wxt-demo/package.json @@ -26,8 +26,10 @@ "@types/react": "^18.3.11", "@types/react-dom": "^18.3.0", "@wxt-dev/auto-icons": "workspace:*", + "@wxt-dev/unocss": "workspace:*", "sass": "^1.79.4", "typescript": "^5.6.2", + "unocss": "^0.63.3", "vitest": "^2.1.2", "vitest-plugin-random-seed": "^1.1.0", "wxt": "workspace:*" diff --git a/packages/wxt-demo/src/common/style.css b/packages/wxt-demo/src/common/style.css deleted file mode 100644 index ea1e941c3..000000000 --- a/packages/wxt-demo/src/common/style.css +++ /dev/null @@ -1,4 +0,0 @@ -body { - margin: 0; - padding: 0; -} diff --git a/packages/wxt-demo/src/entrypoints/popup.html b/packages/wxt-demo/src/entrypoints/popup.html index 624c1bce4..c8f20f68e 100644 --- a/packages/wxt-demo/src/entrypoints/popup.html +++ b/packages/wxt-demo/src/entrypoints/popup.html @@ -4,7 +4,7 @@ Popup - +

Hello popup!

diff --git a/packages/wxt-demo/src/entrypoints/ui.content/index.ts b/packages/wxt-demo/src/entrypoints/ui.content/index.ts index f552d8e68..914e73c36 100644 --- a/packages/wxt-demo/src/entrypoints/ui.content/index.ts +++ b/packages/wxt-demo/src/entrypoints/ui.content/index.ts @@ -1,4 +1,4 @@ -import '../../common/style.css'; +import 'uno.css'; import './style.css'; export default defineContentScript({ @@ -13,6 +13,7 @@ export default defineContentScript({ anchor: 'form[role=search]', onMount: (container) => { const app = document.createElement('div'); + app.classList.add('m-4', 'text-red-500'); app.textContent = i18n.t('prompt_for_name'); container.append(app); }, diff --git a/packages/wxt-demo/src/entrypoints/ui.content/style.css b/packages/wxt-demo/src/entrypoints/ui.content/style.css index ce526c21e..3bfc81307 100644 --- a/packages/wxt-demo/src/entrypoints/ui.content/style.css +++ b/packages/wxt-demo/src/entrypoints/ui.content/style.css @@ -1,11 +1,6 @@ :root { color-scheme: dark; - color: indianred; } html { background-color: black; } - -div { - padding: 16px; -} diff --git a/packages/wxt-demo/src/modules/unocss.ts b/packages/wxt-demo/src/modules/unocss.ts new file mode 100644 index 000000000..f184c4d56 --- /dev/null +++ b/packages/wxt-demo/src/modules/unocss.ts @@ -0,0 +1 @@ +export { default } from '@wxt-dev/unocss'; diff --git a/packages/wxt-demo/wxt.config.ts b/packages/wxt-demo/wxt.config.ts index 57f8d5204..f732c1c3e 100644 --- a/packages/wxt-demo/wxt.config.ts +++ b/packages/wxt-demo/wxt.config.ts @@ -1,4 +1,5 @@ import { defineConfig } from 'wxt'; +import { presetUno } from 'unocss'; export default defineConfig({ srcDir: 'src', @@ -27,4 +28,32 @@ export default defineConfig({ // @ts-expect-error: c is not defined, this should error out c: 'c', }, + unocss: { + excludeEntrypoints: [ + 'example', + 'iframe-src', + 'injected', + 'example-tsx', + 'example-2', + 'iframe', + 'location-change', + 'main-world', + 'sandbox', + 'sidepanel', + 'unlisted', + ], + configOrPath: { + content: { + pipeline: { + include: [ + // the default + /\.(vue|svelte|[jt]sx|mdx?|astro|elm|php|phtml|html)($|\?)/, + // include js/ts files + 'src/entrypoints/**/*.{js,ts}', + ], + }, + }, + presets: [presetUno()], + }, + }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d94a395f8..83199a509 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -249,6 +249,37 @@ importers: specifier: workspace:* version: link:../wxt + packages/unocss: + dependencies: + defu: + specifier: ^6.1.4 + version: 6.1.4 + fast-glob: + specifier: ^3.3.2 + version: 3.3.2 + devDependencies: + '@aklinker1/check': + specifier: ^1.4.5 + version: 1.4.5(typescript@5.6.2) + oxlint: + specifier: ^0.9.9 + version: 0.9.9 + publint: + specifier: ^0.2.11 + version: 0.2.11 + typescript: + specifier: ^5.6.2 + version: 5.6.2 + unbuild: + specifier: ^2.0.0 + version: 2.0.0(sass@1.79.4)(typescript@5.6.2) + unocss: + specifier: ^0.63.3 + version: 0.63.4(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.79.4)) + wxt: + specifier: workspace:* + version: link:../wxt + packages/wxt: dependencies: '@aklinker1/rollup-plugin-visualizer': @@ -463,12 +494,18 @@ importers: '@wxt-dev/auto-icons': specifier: workspace:* version: link:../auto-icons + '@wxt-dev/unocss': + specifier: workspace:* + version: link:../unocss sass: specifier: ^1.79.4 version: 1.79.4 typescript: specifier: ^5.6.2 version: 5.6.2 + unocss: + specifier: ^0.63.3 + version: 0.63.4(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.79.4)) vitest: specifier: ^2.1.2 version: 2.1.2(@types/node@20.16.10)(happy-dom@14.12.3)(sass@1.79.4) @@ -571,6 +608,12 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@antfu/install-pkg@0.4.1': + resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==} + + '@antfu/utils@0.7.10': + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + '@antfu/utils@0.7.7': resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} @@ -1245,6 +1288,12 @@ packages: resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.1.33': + resolution: {integrity: sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw==} + '@img/sharp-darwin-arm64@0.33.5': resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1447,6 +1496,9 @@ packages: resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} engines: {node: '>=12'} + '@polka/url@1.0.0-next.28': + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} + '@rollup/plugin-alias@5.1.0': resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} @@ -1740,6 +1792,86 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@unocss/astro@0.63.4': + resolution: {integrity: sha512-qu1uMDUT8lXU3mm5EjZpnizvjSYtfY0TTDivR5QNm1i3Xd+ErHfdfOpXdJ2mYvxv+X7C570//KUugkTI3Mb3kQ==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + vite: + optional: true + + '@unocss/cli@0.63.4': + resolution: {integrity: sha512-kBWEiVW7KWfjptAJsk38w9dVqOmrO2/z0WADFnlX2RuKNDoCn422Rus6tFB12wZsEujC9eFM34P2nnU7IWWtlQ==} + engines: {node: '>=14'} + hasBin: true + + '@unocss/config@0.63.4': + resolution: {integrity: sha512-LfAzM8z0r2comUW94KaSo4JaaEZjPkvrfyVWfO/hyaXa+/xSVIkCTW7+lfWh77hrg1e2SUY1HEvIFBg9Jvb1xQ==} + engines: {node: '>=14'} + + '@unocss/core@0.63.4': + resolution: {integrity: sha512-VB4DJ5DsRWpX64si5tWYRXf1n5UkYQqe2s1V22qFiWmXa7Ec+Vf9s3cxWZmoWFC5P9RQiwM9kAqxdg1G+elVkQ==} + + '@unocss/extractor-arbitrary-variants@0.63.4': + resolution: {integrity: sha512-gI/+2Nv+cH/ZoOc/4X7RLD9CuBXH51jfwGJ1xRveS7tj+EBs8VshP7Vhbn6Jyp69E00wt4hyzjviDoGqcIA8bA==} + + '@unocss/inspector@0.63.4': + resolution: {integrity: sha512-NHvOTScsMrh6oMmwGMrqB1q1RCFTHZCIK0Vwp8hL8/gmNlza2Kd2cQ/WYSEsjW132xeLCOqTME5qny1gpG6SpA==} + + '@unocss/postcss@0.63.4': + resolution: {integrity: sha512-JnSAV1hAZumkm0KZGXYqWsP2I7wnOdr+oeDckHKLdZR2mHNVbDm46H8XGbie55t/gPftaLSsMbaPvRjU2Fclqg==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + + '@unocss/preset-attributify@0.63.4': + resolution: {integrity: sha512-Q2DT4oVdxaL7XxD9sDP3adb5tnYr05sCxCxPhv3ch8brU7uvwbyqkiEw105pWbj0Hb3i/0kD4iq7lVMZYRH5nw==} + + '@unocss/preset-icons@0.63.4': + resolution: {integrity: sha512-V7JV2xvEGeNVjP6HT4IG/BY/HgajJt9CLT2sgKbaVCU9hNOuBs1YTOxua0KLynbTYwr5F5cDMuE/9slQYinZmg==} + + '@unocss/preset-mini@0.63.4': + resolution: {integrity: sha512-sim1/uy/XaVzdnMdepXdbdacXF5QNkPDnl4PYBWTyGuT5yKFpuipWpJDS5zZH5W6PYzKdcDA3YiaJ0S5CiUWpQ==} + + '@unocss/preset-tagify@0.63.4': + resolution: {integrity: sha512-RQkeSCKrGAowomjh8/chlnVWWOFlC+QkHB1oY5isRXNO2HStESZljyL/MisRpgjj0ubPiocoFCI2hRzXT/HrSg==} + + '@unocss/preset-typography@0.63.4': + resolution: {integrity: sha512-PtRXDqF8dW1GYDxiF1Opl+M5fhZeKx63bhvtXXf3iHjVzPDSHB6w1kTElh6vIWeLDNM9GZbbJyB5f2C8DBjibw==} + + '@unocss/preset-uno@0.63.4': + resolution: {integrity: sha512-VMc2R0XRMjXA5u5HnP0SkiWtc8EnEJvipNPKsWBuyyVb0QrsIXtF5z3l3cuZmD6V7m/o9s81yshL0gFOBpF7iQ==} + + '@unocss/preset-web-fonts@0.63.4': + resolution: {integrity: sha512-XuU4dNwTQ0ULlYpQFSKk2JRYACTzpIzpPGP5ZnqdwBxEQH5JhXx4mEmaOhu1OH3c2hZURAkdQvBzYWia4oZ6og==} + + '@unocss/preset-wind@0.63.4': + resolution: {integrity: sha512-8fTUp6ZxH9YiScz4nZ1tRqprayrlQSfguzkjxDvOrwazfNcmxvHSZfC9dtpEmY+QssM1zHH0mmWmWgQYwU9Zdw==} + + '@unocss/reset@0.63.4': + resolution: {integrity: sha512-7lnVH9zuVMekY0IUtcQRrbEqlkhvyGixgzHSWPBF/JA/Pto18bhd+cMeZhuz4eHRbN274bANX+//I+Ilfo7SSg==} + + '@unocss/rule-utils@0.63.4': + resolution: {integrity: sha512-7yRWF881ymxnMcCJSiI/1kMI8uwRqRi3l5XnV+JSGjjF2fDr1POUQjSLaA4s7ZfdEgmjagdLK3F5xqkfMMECNA==} + engines: {node: '>=14'} + + '@unocss/transformer-attributify-jsx@0.63.4': + resolution: {integrity: sha512-5cO9BY/Bga6YmbTch1Neg+E46HerJp5wLxPkIcFCDNsqy2MsB97jsFG1dO0jDUg43E26MRI19tg1eqrWL6sTYg==} + + '@unocss/transformer-compile-class@0.63.4': + resolution: {integrity: sha512-ta6mqq2S5OWcfBzzYnaiMt3ekn2ECNZTqzzqMglnIKPkE+GmqUmmRavRnpc+NGobuqMRcI4F6x8MSSHf4MV0jw==} + + '@unocss/transformer-directives@0.63.4': + resolution: {integrity: sha512-N/dNhmn3e9/Z4IvAujxCdwhNMfx2SihPA2/7GFSMMRi7F0Hn/o2hOqQquRqIJbQwIvi6bJtKwyasxjDoUhJqBA==} + + '@unocss/transformer-variant-group@0.63.4': + resolution: {integrity: sha512-uEHltdfR0Y1nvs1eqHwsgevRFhZkLmA/MsaMEfNblDJ6CLHe/ACNmMoLX1Mcuq/lAPs0X6jGnKudk4QTrCv15Q==} + + '@unocss/vite@0.63.4': + resolution: {integrity: sha512-YK0L177GD8Kx+JtfiCJy4YyBYckAXo4ogC8LZ+pYVNXDMN+F+XItpGI/ofLRaGIaewNg+MJgGY+CQZceABEAfg==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + '@vitejs/plugin-react@4.3.2': resolution: {integrity: sha512-hieu+o05v4glEBucTcKMK3dlES0OeJlD9YVOAPraVMOInBCwzumaIFiUjr4bHK7NPgnAHgiskUoceKercrN8vg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -2062,6 +2194,12 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} + bundle-require@5.0.0: + resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + bunyan@1.8.15: resolution: {integrity: sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==} engines: {'0': node >=0.10.0} @@ -2307,6 +2445,10 @@ packages: resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-tree@3.0.0: + resolution: {integrity: sha512-o88DVQ6GzsABn1+6+zo2ct801dBO5OASVyxbbvA2W20ue2puSh/VOuqUj90eUeMSX/xqGqBmOKiRQN7tJOuBXw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} @@ -2479,6 +2621,9 @@ packages: resolution: {integrity: sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==} engines: {node: '>=0.10'} + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -2593,6 +2738,14 @@ packages: fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fdir@6.4.2: + resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + filesize@10.1.6: resolution: {integrity: sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==} engines: {node: '>= 10.4.0'} @@ -2701,10 +2854,12 @@ packages: glob@6.0.4: resolution: {integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==} + deprecated: Glob versions prior to v9 are no longer supported glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported global-dirs@3.0.1: resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} @@ -2734,6 +2889,10 @@ packages: growly@1.3.0: resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + happy-dom@14.12.3: resolution: {integrity: sha512-vsYlEs3E9gLwA1Hp+w3qzu+RUDFf4VTT8cyKqVICoZ2k7WM++Qyd2LwzyTi5bqMJFiIC/vNpTDYuxdreENRK/g==} engines: {node: '>=16.0.0'} @@ -2821,12 +2980,16 @@ packages: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} + importx@0.4.4: + resolution: {integrity: sha512-Lo1pukzAREqrBnnHC+tj+lreMTAvyxtkKsMxLY8H15M/bvLl54p3YuoTI70Tz7Il0AsgSlD7Lrk/FaApRcBL7w==} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -3017,6 +3180,10 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jiti@2.0.0-beta.3: + resolution: {integrity: sha512-pmfRbVRs/7khFrSAYnSiJ8C0D5GvzkE4Ey2pAvUcJsw1ly/p+7ut27jbJrjY79BpAJQJ4gXYFtK6d1Aub+9baQ==} + hasBin: true + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -3065,6 +3232,9 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + latest-version@7.0.0: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} @@ -3099,6 +3269,10 @@ packages: resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==} engines: {node: '>=18.0.0'} + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -3196,6 +3370,9 @@ packages: mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + mdn-data@2.10.0: + resolution: {integrity: sha512-qq7C3EtK3yJXMwz1zAab65pjl+UhohqMOctTgcqjLOWABqmwj+me02LSsCuEUxnst9X1lCBpoE0WArGKgdGDzw==} + merge-anything@5.1.7: resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} engines: {node: '>=12.13'} @@ -3333,6 +3510,10 @@ packages: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -3494,6 +3675,9 @@ packages: resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} engines: {node: '>=14.16'} + package-manager-detector@0.2.2: + resolution: {integrity: sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==} + pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} @@ -3556,6 +3740,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} @@ -3894,6 +4082,7 @@ packages: rimraf@2.4.5: resolution: {integrity: sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rollup-plugin-dts@6.1.1: @@ -4027,6 +4216,10 @@ packages: simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -4213,6 +4406,10 @@ packages: tinyexec@0.3.0: resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} + tinyglobby@0.2.9: + resolution: {integrity: sha512-8or1+BGEdk1Zkkw2ii16qSS7uVrQJPre5A9o/XkWPATkk23FZh/15BKFxPnlTy6vkljZxLqYCzzBMj30ZrSvjw==} + engines: {node: '>=12.0.0'} + tinypool@1.0.0: resolution: {integrity: sha512-KIKExllK7jp3uvrNtvRBYBWBOAXSX8ZvoaD8T+7KB/QHIuoJW3Pmr60zucywjAlMb5TeXUkcs/MWeWLu0qvuAQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -4241,6 +4438,10 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -4260,6 +4461,11 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + tsx@4.19.1: + resolution: {integrity: sha512-0flMz1lh74BR4wOvBjuh9olbnwqCPc35OOlfyzHba0Dc+QNUeWX/Gq2YTbnwcWPO3BMd8fkzRVrHcsR+a7z7rA==} + engines: {node: '>=18.0.0'} + hasBin: true + type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} @@ -4318,6 +4524,9 @@ packages: typescript: optional: true + unconfig@0.5.5: + resolution: {integrity: sha512-VQZ5PT9HDX+qag0XdgQi8tJepPhXiR/yVOkn707gJDKo31lGjRilPREiQJ9Z6zd/Ugpv6ZvO5VxVIcatldYcNQ==} + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -4354,6 +4563,18 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} + unocss@0.63.4: + resolution: {integrity: sha512-MQ/ktuJ2MoXBsd117DEONFubJRQN6Og4mQJLbT+0nna2aTW4jYJESJ479mJYWq/ajonxEaM+zrf8M92VIWxzEw==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.63.4 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + unplugin@1.14.1: resolution: {integrity: sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==} engines: {node: '>=14.0.0'} @@ -4798,6 +5019,13 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + '@antfu/install-pkg@0.4.1': + dependencies: + package-manager-detector: 0.2.2 + tinyexec: 0.3.0 + + '@antfu/utils@0.7.10': {} + '@antfu/utils@0.7.7': {} '@babel/code-frame@7.24.7': @@ -5346,6 +5574,20 @@ snapshots: '@faker-js/faker@8.4.1': {} + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.1.33': + dependencies: + '@antfu/install-pkg': 0.4.1 + '@antfu/utils': 0.7.10 + '@iconify/types': 2.0.0 + debug: 4.3.7 + kolorist: 1.8.0 + local-pkg: 0.5.0 + mlly: 1.7.1 + transitivePeerDependencies: + - supports-color + '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.0.4 @@ -5502,6 +5744,8 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 + '@polka/url@1.0.0-next.28': {} + '@rollup/plugin-alias@5.1.0(rollup@3.29.4)': dependencies: slash: 4.0.0 @@ -5789,6 +6033,152 @@ snapshots: '@ungap/structured-clone@1.2.0': {} + '@unocss/astro@0.63.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.79.4))': + dependencies: + '@unocss/core': 0.63.4 + '@unocss/reset': 0.63.4 + '@unocss/vite': 0.63.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.79.4)) + optionalDependencies: + vite: 5.4.8(@types/node@20.16.10)(sass@1.79.4) + transitivePeerDependencies: + - rollup + - supports-color + + '@unocss/cli@0.63.4(rollup@4.24.0)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) + '@unocss/config': 0.63.4 + '@unocss/core': 0.63.4 + '@unocss/preset-uno': 0.63.4 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.2.3 + magic-string: 0.30.11 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + tinyglobby: 0.2.9 + transitivePeerDependencies: + - rollup + - supports-color + + '@unocss/config@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + unconfig: 0.5.5 + transitivePeerDependencies: + - supports-color + + '@unocss/core@0.63.4': {} + + '@unocss/extractor-arbitrary-variants@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + + '@unocss/inspector@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + '@unocss/rule-utils': 0.63.4 + gzip-size: 6.0.0 + sirv: 2.0.4 + + '@unocss/postcss@0.63.4(postcss@8.4.47)': + dependencies: + '@unocss/config': 0.63.4 + '@unocss/core': 0.63.4 + '@unocss/rule-utils': 0.63.4 + css-tree: 3.0.0 + postcss: 8.4.47 + tinyglobby: 0.2.9 + transitivePeerDependencies: + - supports-color + + '@unocss/preset-attributify@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + + '@unocss/preset-icons@0.63.4': + dependencies: + '@iconify/utils': 2.1.33 + '@unocss/core': 0.63.4 + ofetch: 1.4.0 + transitivePeerDependencies: + - supports-color + + '@unocss/preset-mini@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + '@unocss/extractor-arbitrary-variants': 0.63.4 + '@unocss/rule-utils': 0.63.4 + + '@unocss/preset-tagify@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + + '@unocss/preset-typography@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + '@unocss/preset-mini': 0.63.4 + + '@unocss/preset-uno@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + '@unocss/preset-mini': 0.63.4 + '@unocss/preset-wind': 0.63.4 + '@unocss/rule-utils': 0.63.4 + + '@unocss/preset-web-fonts@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + ofetch: 1.4.0 + + '@unocss/preset-wind@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + '@unocss/preset-mini': 0.63.4 + '@unocss/rule-utils': 0.63.4 + + '@unocss/reset@0.63.4': {} + + '@unocss/rule-utils@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + magic-string: 0.30.11 + + '@unocss/transformer-attributify-jsx@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + + '@unocss/transformer-compile-class@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + + '@unocss/transformer-directives@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + '@unocss/rule-utils': 0.63.4 + css-tree: 3.0.0 + + '@unocss/transformer-variant-group@0.63.4': + dependencies: + '@unocss/core': 0.63.4 + + '@unocss/vite@0.63.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.79.4))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) + '@unocss/config': 0.63.4 + '@unocss/core': 0.63.4 + '@unocss/inspector': 0.63.4 + chokidar: 3.6.0 + magic-string: 0.30.11 + tinyglobby: 0.2.9 + vite: 5.4.8(@types/node@20.16.10)(sass@1.79.4) + transitivePeerDependencies: + - rollup + - supports-color + '@vitejs/plugin-react@4.3.2(vite@5.4.8(@types/node@20.16.10)(sass@1.79.4))': dependencies: '@babel/core': 7.25.7 @@ -6158,6 +6548,11 @@ snapshots: dependencies: run-applescript: 7.0.0 + bundle-require@5.0.0(esbuild@0.21.5): + dependencies: + esbuild: 0.21.5 + load-tsconfig: 0.2.5 + bunyan@1.8.15: optionalDependencies: dtrace-provider: 0.8.8 @@ -6448,6 +6843,11 @@ snapshots: mdn-data: 2.0.30 source-map-js: 1.2.0 + css-tree@3.0.0: + dependencies: + mdn-data: 2.10.0 + source-map-js: 1.2.1 + css-what@6.1.0: {} cssesc@3.0.0: {} @@ -6608,6 +7008,8 @@ snapshots: nan: 2.17.0 optional: true + duplexer@0.1.2: {} + eastasianwidth@0.2.0: {} electron-to-chromium@1.4.802: {} @@ -6797,6 +7199,10 @@ snapshots: dependencies: pend: 1.2.0 + fdir@6.4.2(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + filesize@10.1.6: {} fill-range@7.1.1: @@ -6960,6 +7366,10 @@ snapshots: growly@1.3.0: {} + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + happy-dom@14.12.3: dependencies: entities: 4.5.0 @@ -7040,6 +7450,18 @@ snapshots: import-lazy@4.0.0: {} + importx@0.4.4: + dependencies: + bundle-require: 5.0.0(esbuild@0.21.5) + debug: 4.3.7 + esbuild: 0.21.5 + jiti: 2.0.0-beta.3 + jiti-v1: jiti@1.21.6 + pathe: 1.1.2 + tsx: 4.19.1 + transitivePeerDependencies: + - supports-color + imurmurhash@0.1.4: {} inflight@1.0.6: @@ -7193,6 +7615,8 @@ snapshots: jiti@1.21.6: {} + jiti@2.0.0-beta.3: {} + js-tokens@4.0.0: {} js-tokens@9.0.0: {} @@ -7230,6 +7654,8 @@ snapshots: kleur@4.1.5: {} + kolorist@1.8.0: {} + latest-version@7.0.0: dependencies: package-json: 8.1.1 @@ -7290,6 +7716,8 @@ snapshots: rfdc: 1.4.1 wrap-ansi: 9.0.0 + load-tsconfig@0.2.5: {} + local-pkg@0.5.0: dependencies: mlly: 1.7.1 @@ -7395,6 +7823,8 @@ snapshots: mdn-data@2.0.30: {} + mdn-data@2.10.0: {} + merge-anything@5.1.7: dependencies: is-what: 4.1.16 @@ -7519,6 +7949,8 @@ snapshots: mri@1.2.0: {} + mrmime@2.0.0: {} + ms@2.0.0: {} ms@2.1.2: {} @@ -7710,6 +8142,8 @@ snapshots: registry-url: 6.0.1 semver: 7.6.3 + package-manager-detector@0.2.2: {} + pako@1.0.11: {} parse-json@7.1.1: @@ -7762,6 +8196,8 @@ snapshots: picomatch@2.3.1: {} + picomatch@4.0.2: {} + pidtree@0.6.0: {} pkg-types@1.1.3: @@ -8266,6 +8702,12 @@ snapshots: dependencies: is-arrayish: 0.3.2 + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.28 + mrmime: 2.0.0 + totalist: 3.0.1 + sisteransi@1.0.5: {} slash@4.0.0: {} @@ -8464,6 +8906,11 @@ snapshots: tinyexec@0.3.0: {} + tinyglobby@0.2.9: + dependencies: + fdir: 6.4.2(picomatch@4.0.2) + picomatch: 4.0.2 + tinypool@1.0.0: {} tinyrainbow@1.2.0: {} @@ -8480,6 +8927,8 @@ snapshots: dependencies: is-number: 7.0.0 + totalist@3.0.1: {} + trim-lines@3.0.1: {} ts-essentials@10.0.1(typescript@5.6.2): @@ -8495,6 +8944,13 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + tsx@4.19.1: + dependencies: + esbuild: 0.23.0 + get-tsconfig: 4.7.5 + optionalDependencies: + fsevents: 2.3.3 + type-fest@1.4.0: {} type-fest@2.19.0: {} @@ -8564,6 +9020,14 @@ snapshots: - supports-color - vue-tsc + unconfig@0.5.5: + dependencies: + '@antfu/utils': 0.7.10 + defu: 6.1.4 + importx: 0.4.4 + transitivePeerDependencies: + - supports-color + undici-types@5.26.5: {} undici-types@6.19.8: {} @@ -8618,6 +9082,32 @@ snapshots: universalify@2.0.0: {} + unocss@0.63.4(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.79.4)): + dependencies: + '@unocss/astro': 0.63.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.79.4)) + '@unocss/cli': 0.63.4(rollup@4.24.0) + '@unocss/core': 0.63.4 + '@unocss/postcss': 0.63.4(postcss@8.4.47) + '@unocss/preset-attributify': 0.63.4 + '@unocss/preset-icons': 0.63.4 + '@unocss/preset-mini': 0.63.4 + '@unocss/preset-tagify': 0.63.4 + '@unocss/preset-typography': 0.63.4 + '@unocss/preset-uno': 0.63.4 + '@unocss/preset-web-fonts': 0.63.4 + '@unocss/preset-wind': 0.63.4 + '@unocss/transformer-attributify-jsx': 0.63.4 + '@unocss/transformer-compile-class': 0.63.4 + '@unocss/transformer-directives': 0.63.4 + '@unocss/transformer-variant-group': 0.63.4 + '@unocss/vite': 0.63.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.79.4)) + optionalDependencies: + vite: 5.4.8(@types/node@20.16.10)(sass@1.79.4) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + unplugin@1.14.1(webpack-sources@3.2.3): dependencies: acorn: 8.12.1