From 557120f6e662c29e06e11af1fbd00b531156b388 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Sun, 3 Mar 2024 08:16:17 -0800 Subject: [PATCH] New version check system setup --- package.json | 8 +- packages/astro-ghostcms/package.json | 6 +- packages/astro-ghostcms/src/astro-ghostcms.ts | 28 +- .../astro-ghostcms/src/utils/latestVersion.ts | 26 + packages/create-astro-ghostcms/package.json | 12 +- pnpm-lock.yaml | 803 +++++------------- 6 files changed, 271 insertions(+), 612 deletions(-) create mode 100644 packages/astro-ghostcms/src/utils/latestVersion.ts diff --git a/package.json b/package.json index 1b518edb..b82aa01e 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "test:integration": "pnpm --filter astro-ghostcms test", "test:integration:watch": "pnpm --filter astro-ghostcms test:watch", "test:integration:coverage": "pnpm --filter astro-ghostcms test:coverage", - "test:create": "pnpm --filter create-astro-ghostcms test", + "test:create-utility": "pnpm --filter create-astro-ghostcms test", "test:starlight": "pnpm --filter starlight-ghostcms test", "test:starlight:watch": "pnpm --filter starlight-ghostcms test:watch", "test:starlight:coverage": "pnpm --filter starlight-ghostcms test:coverage" @@ -24,8 +24,8 @@ "devDependencies": { "@biomejs/biome": "1.5.3", "@changesets/cli": "^2.27.1", - "vitest": "^1.3.0", - "vitest-fetch-mock": "^0.2.2", - "@vitest/ui": "1.3.0" + "@vitest/ui": "^1.3.1", + "vitest": "^1.3.1", + "vitest-fetch-mock": "^0.2.2" } } diff --git a/packages/astro-ghostcms/package.json b/packages/astro-ghostcms/package.json index 64518bcb..7c74ea7e 100644 --- a/packages/astro-ghostcms/package.json +++ b/packages/astro-ghostcms/package.json @@ -58,7 +58,9 @@ "astro": "^4.4.1" }, "devDependencies": { - "vitest": "^1.3.0", + "@types/fs-extra": "11.0.4", + "@types/node": "20.11.24", + "vitest": "^1.3.1", "vitest-fetch-mock": "^0.2.2" }, "dependencies": { @@ -70,6 +72,8 @@ "@ts-ghost/content-api": "^4.0.12", "astro-integration-kit": "^0.5.0", "astro-robots-txt": "^1.0.0", + "fs-extra": "11.2.0", + "package-json": "10.0.0", "picocolors": "1.0.0", "satori": "^0.10.13", "satori-html": "0.3.2", diff --git a/packages/astro-ghostcms/src/astro-ghostcms.ts b/packages/astro-ghostcms/src/astro-ghostcms.ts index 68a809b1..e4a5f4db 100644 --- a/packages/astro-ghostcms/src/astro-ghostcms.ts +++ b/packages/astro-ghostcms/src/astro-ghostcms.ts @@ -4,6 +4,9 @@ import { GhostUserConfigSchema } from "./schemas/userconfig"; import { loadEnv } from "vite"; import { AstroError } from "astro/errors"; import c from "picocolors"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import fse from "fs-extra"; // Import External Integrations import sitemap from "@astrojs/sitemap"; @@ -13,6 +16,7 @@ import robotsTxt from "astro-robots-txt"; import ghostOGImages from "./integrations/satoriog" import ghostRSS from "./integrations/rssfeed" import ghostThemeProvider from "./integrations/themeprovider" +import latestVersion from "./utils/latestVersion"; // Load environment variables const ENV = loadEnv("all", process.cwd(), "CONTENT_API"); @@ -154,16 +158,32 @@ export default defineIntegration({ }, "astro:config:done": ({ logger }) => { - const GhostLogger = logger.fork(`${c.bold(c.blue('👻 Astro-GhostCMS'))}${c.gray("/")}${c.green('Config')}`); + const GhostLogger = logger.fork(`${c.bold(c.blue('👻 Astro-GhostCMS'))}${c.gray("/")}${c.green('CONFIG')}`); GhostLogger.info(c.bold(c.green('Integration Setup & Configuration Complete'))) }, - "astro:server:start": ({ logger }) => { + "astro:server:start": async ({ logger }) => { const GhostLogger = logger.fork(`${c.bold(c.blue('👻 Astro-GhostCMS'))}${c.gray("/")}${c.bold(c.green('DEV'))}`); - GhostLogger.info(c.bold(c.magenta('Running Astro-GhostCMS in Deveopment mode'))) + const GhostUpdateLogger = logger.fork(`${c.bold(c.blue('👻 Astro-GhostCMS'))}${c.gray("/")}${c.bold(c.green('VERSION CHECK'))}`); + const verbose = options.fullConsoleLogs; + + // Start the DEV server + GhostLogger.info(c.bold(c.magenta('Running Astro-GhostCMS in Deveopment mode 🚀'))) + + // Check for updates + const currentNPMVersion = await latestVersion("@matthiesenxyz/astro-ghostcms"); + const packageJson = await fse.readJson(path.resolve(fileURLToPath(import.meta.url), "../../package.json")); + const localVersion = packageJson.version; + + if (currentNPMVersion !== localVersion) { + GhostUpdateLogger.warn(`\n${c.bgYellow(c.bold(c.black(" There is a new version of Astro-GhostCMS available! ")))}\n${c.bold(c.white(" Current Installed Version: ")) + c.bold(c.red(`${localVersion} `))} \n ${c.bold(c.white("New Available Version: "))} ${c.green(currentNPMVersion)} \n ${c.bold(c.white("Please consider updating to the latest version by running: "))} ${c.bold(c.green("npm i @matthiesenxyz/astro-ghostcms@latest"))} \n`) + } else { + GhostUpdateLogger.info(c.bold(c.green(`Astro-GhostCMS is up to date! v${localVersion}`))) + } + }, "astro:build:done": ({ logger }) => { const GhostLogger = logger.fork(`${c.bold(c.blue('👻 Astro-GhostCMS'))}${c.gray("/")}${c.bold(c.green('BUILD'))}`); - GhostLogger.info(c.bold(c.magenta('Running Astro-GhostCMS in Production mode'))) + GhostLogger.info(c.bold(c.magenta('Running Astro-GhostCMS in Production mode 🚀'))) } } } diff --git a/packages/astro-ghostcms/src/utils/latestVersion.ts b/packages/astro-ghostcms/src/utils/latestVersion.ts new file mode 100644 index 00000000..f117b9b1 --- /dev/null +++ b/packages/astro-ghostcms/src/utils/latestVersion.ts @@ -0,0 +1,26 @@ +import packageJson from "package-json"; + +export type Options = { + /** + A semver range or [dist-tag](https://docs.npmjs.com/cli/dist-tag). + */ + readonly version?: string; +}; + +/** +Get the latest version of an npm package. + +@example +``` +console.log(await latestVersion('ava')); +//=> '0.18.0' +``` +*/ +export default async function latestVersion( + packageName: string, + options?: Options, +) { + const { version } = await packageJson(packageName.toLowerCase(), options); + + return version; +} \ No newline at end of file diff --git a/packages/create-astro-ghostcms/package.json b/packages/create-astro-ghostcms/package.json index 02538d4d..0e125b70 100644 --- a/packages/create-astro-ghostcms/package.json +++ b/packages/create-astro-ghostcms/package.json @@ -46,17 +46,7 @@ "@types/gunzip-maybe": "^1.4.0", "@types/node": "^20.11.19", "@types/tar-fs": "^2.0.1", - "@typescript-eslint/eslint-plugin": "^7.0.1", - "@typescript-eslint/parser": "^7.0.1", - "eslint": "^8.56.0", - "eslint-config-prettier": "^9.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-import-resolver-typescript": "^3.5.3", - "prettier": "^3.2.5", - "typescript": "^5.3.3", - "vitest": "^1.3.0", - "vite": "^5.1.3", - "vite-tsconfig-paths": "^4.2.2" + "typescript": "^5.3.3" }, "publishConfig": { "access": "public" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3546f039..650bc7de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,14 +15,14 @@ importers: specifier: ^2.27.1 version: 2.27.1 '@vitest/ui': - specifier: 1.3.0 - version: 1.3.0(vitest@1.3.0) + specifier: ^1.3.1 + version: 1.3.1(vitest@1.3.1) vitest: - specifier: ^1.3.0 - version: 1.3.0(@types/node@20.11.19)(@vitest/ui@1.3.0) + specifier: ^1.3.1 + version: 1.3.1(@vitest/ui@1.3.1) vitest-fetch-mock: specifier: ^0.2.2 - version: 0.2.2(vitest@1.3.0) + version: 0.2.2(vitest@1.3.1) packages/astro-ghostcms: dependencies: @@ -46,13 +46,19 @@ importers: version: 6.0.0 astro: specifier: ^4.4.1 - version: 4.4.9 + version: 4.4.9(@types/node@20.11.24) astro-integration-kit: specifier: ^0.5.0 version: 0.5.0(astro@4.4.9) astro-robots-txt: specifier: ^1.0.0 version: 1.0.0 + fs-extra: + specifier: 11.2.0 + version: 11.2.0 + package-json: + specifier: 10.0.0 + version: 10.0.0 picocolors: specifier: 1.0.0 version: 1.0.0 @@ -64,14 +70,20 @@ importers: version: 0.3.2 vite: specifier: ^5.1.4 - version: 5.1.4(@types/node@20.11.19) + version: 5.1.4(@types/node@20.11.24) devDependencies: + '@types/fs-extra': + specifier: 11.0.4 + version: 11.0.4 + '@types/node': + specifier: 20.11.24 + version: 20.11.24 vitest: - specifier: ^1.3.0 - version: 1.3.0(@types/node@20.11.19)(@vitest/ui@1.3.0) + specifier: ^1.3.1 + version: 1.3.1(@types/node@20.11.24)(@vitest/ui@1.3.1) vitest-fetch-mock: specifier: ^0.2.2 - version: 0.2.2(vitest@1.3.0) + version: 0.2.2(vitest@1.3.1) packages/astro-ghostcms-brutalbyelian: dependencies: @@ -86,7 +98,7 @@ importers: version: 1.1.8 '@matthiesenxyz/astro-ghostcms': specifier: ^3.2.9 - version: 3.2.9(typescript@5.3.3) + version: 3.2.9(sass@1.71.0)(typescript@5.3.3) '@matthiesenxyz/astro-ghostcms-rendercontent': specifier: ^0.0.7 version: link:../astro-ghostcms-rendercontent @@ -98,7 +110,7 @@ importers: version: 0.58.5 astro: specifier: ^4.2.0 - version: 4.3.7(typescript@5.3.3) + version: 4.3.7(sass@1.71.0)(typescript@5.3.3) astro-font: specifier: ^0.0.77 version: 0.0.77 @@ -144,13 +156,13 @@ importers: version: 5.0.16 '@matthiesenxyz/astro-ghostcms': specifier: ^3.2.9 - version: 3.2.9(typescript@5.3.3) + version: 3.2.9(sass@1.71.0)(typescript@5.3.3) '@tailwindcss/typography': specifier: ^0.5.10 version: 0.5.10(tailwindcss@3.4.1) astro: specifier: ^4.2.1 - version: 4.3.7(typescript@5.3.3) + version: 4.3.7(sass@1.71.0)(typescript@5.3.3) astro-navbar: specifier: ^2.3.1 version: 2.3.1 @@ -172,7 +184,7 @@ importers: devDependencies: astro: specifier: 4.4.0 - version: 4.4.0(typescript@5.3.3) + version: 4.4.0(sass@1.71.0)(typescript@5.3.3) packages/astro-ghostcms-theme-default: dependencies: @@ -226,39 +238,9 @@ importers: '@types/tar-fs': specifier: ^2.0.1 version: 2.0.4 - '@typescript-eslint/eslint-plugin': - specifier: ^7.0.1 - version: 7.0.1(@typescript-eslint/parser@7.0.1)(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/parser': - specifier: ^7.0.1 - version: 7.0.1(eslint@8.56.0)(typescript@5.3.3) - eslint: - specifier: ^8.56.0 - version: 8.56.0 - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.56.0) - eslint-import-resolver-node: - specifier: ^0.3.7 - version: 0.3.9 - eslint-import-resolver-typescript: - specifier: ^3.5.3 - version: 3.6.1(@typescript-eslint/parser@7.0.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) - prettier: - specifier: ^3.2.5 - version: 3.2.5 typescript: specifier: ^5.3.3 version: 5.3.3 - vite: - specifier: ^5.1.3 - version: 5.1.3(@types/node@20.11.19) - vite-tsconfig-paths: - specifier: ^4.2.2 - version: 4.3.1(typescript@5.3.3)(vite@5.1.3) - vitest: - specifier: ^1.3.0 - version: 1.3.0(@types/node@20.11.19)(@vitest/ui@1.3.0) packages/starlight-ghostcms: dependencies: @@ -270,10 +252,10 @@ importers: version: 5.1.2 vite: specifier: ^5.1.2 - version: 5.1.3(@types/node@20.11.19) + version: 5.1.3 vite-tsconfig-paths: specifier: ^4.2.2 - version: 4.3.1(typescript@5.3.3)(vite@5.1.3) + version: 4.3.1(vite@5.1.3) devDependencies: '@astrojs/starlight': specifier: ^0.19.0 @@ -283,10 +265,10 @@ importers: version: link:../tsconfig astro: specifier: ^4.4.0 - version: 4.4.0(typescript@5.3.3) + version: 4.4.0(sass@1.71.0)(typescript@5.3.3) vitest: specifier: ^1.2.2 - version: 1.2.2(@vitest/ui@1.3.0) + version: 1.2.2(@vitest/ui@1.3.1) vitest-fetch-mock: specifier: ^0.2.2 version: 0.2.2(vitest@1.2.2) @@ -309,7 +291,7 @@ importers: version: 0.58.5(vite@5.1.4) astro: specifier: ^4.4.0 - version: 4.4.0(typescript@5.3.3) + version: 4.4.0(sass@1.71.0)(typescript@5.3.3) tailwindcss: specifier: ^3.3.5 version: 3.4.1 @@ -334,7 +316,7 @@ importers: version: link:../../packages/starlight-ghostcms astro: specifier: ^4.4.0 - version: 4.4.0(typescript@5.3.3) + version: 4.4.0(sass@1.71.0)(typescript@5.3.3) sharp: specifier: ^0.32.5 version: 0.32.6 @@ -453,7 +435,7 @@ packages: '@astrojs/markdown-remark': 4.2.1 '@mdx-js/mdx': 3.0.1 acorn: 8.11.3 - astro: 4.4.0(typescript@5.3.3) + astro: 4.4.0(sass@1.71.0)(typescript@5.3.3) es-module-lexer: 1.4.1 estree-util-visit: 2.0.0 github-slugger: 2.0.0 @@ -498,7 +480,7 @@ packages: '@pagefind/default-ui': 1.0.4 '@types/hast': 3.0.4 '@types/mdast': 4.0.3 - astro: 4.4.0(typescript@5.3.3) + astro: 4.4.0(sass@1.71.0)(typescript@5.3.3) astro-expressive-code: 0.32.4(astro@4.4.0) bcp-47: 2.1.0 hast-util-select: 6.0.2 @@ -521,7 +503,7 @@ packages: astro: ^3.0.0 || ^4.0.0 tailwindcss: ^3.0.24 dependencies: - astro: 4.3.7(typescript@5.3.3) + astro: 4.3.7(sass@1.71.0)(typescript@5.3.3) autoprefixer: 10.4.17(postcss@8.4.35) postcss: 8.4.35 postcss-load-config: 4.0.2(postcss@8.4.35) @@ -536,7 +518,7 @@ packages: astro: ^3.0.0 || ^4.0.0 tailwindcss: ^3.0.24 dependencies: - astro: 4.4.0(typescript@5.3.3) + astro: 4.4.0(sass@1.71.0)(typescript@5.3.3) autoprefixer: 10.4.17(postcss@8.4.35) postcss: 8.4.35 postcss-load-config: 4.0.2(postcss@8.4.35) @@ -1529,7 +1511,7 @@ packages: astro: ^4.2.1 dependencies: '@matthiesenxyz/astro-ghostcms': 3.2.9(sass@1.71.0)(typescript@5.3.3) - astro: 4.4.0(typescript@5.3.3) + astro: 4.4.0(sass@1.71.0)(typescript@5.3.3) astro-font: 0.0.77 sass: 1.71.0 transitivePeerDependencies: @@ -1572,35 +1554,6 @@ packages: - typescript dev: false - /@matthiesenxyz/astro-ghostcms@3.2.9(typescript@5.3.3): - resolution: {integrity: sha512-LuMXWwo8/AozHKLuu9okjmDqZWSRuJ+Pt2ggZv/gMQrfD4CLIucS4UMl2YQviU1QpguY46j7SP9x0BoIAhFBeA==} - dependencies: - '@astrojs/rss': 4.0.5 - '@astrojs/sitemap': 3.0.5 - '@matthiesenxyz/astro-ghostcms-theme-default': 0.1.13(astro@4.4.0)(typescript@5.3.3) - '@resvg/resvg-js': 2.6.0 - '@ts-ghost/core-api': 5.1.2 - astro: 4.4.0(typescript@5.3.3) - astro-robots-txt: 1.0.0 - fs-extra: 11.2.0 - package-json: 9.0.0 - satori: 0.10.13 - satori-html: 0.3.2 - vite: 5.1.4(@types/node@20.11.19) - vite-tsconfig-paths: 4.3.1(typescript@5.3.3)(vite@5.1.4) - zod: 3.22.4 - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - - typescript - dev: false - /@mdx-js/mdx@3.0.1: resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==} dependencies: @@ -2060,13 +2013,13 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.11.19 + '@types/node': 20.11.24 dev: true /@types/gunzip-maybe@1.4.2: resolution: {integrity: sha512-2uqXZg1jTCKE1Pjbab8qb74+f2+i9h/jz8rQ+jRR+zaNJF75zWwrpbX8/TjF4m56m3KFOg9umHdCJ074KwiVxg==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.24 dev: true /@types/hast@2.3.10: @@ -2083,18 +2036,10 @@ packages: resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} dev: false - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true - - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - /@types/jsonfile@6.1.4: resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.24 dev: true /@types/mdast@4.0.3: @@ -2126,6 +2071,12 @@ packages: resolution: {integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==} dependencies: undici-types: 5.26.5 + dev: true + + /@types/node@20.11.24: + resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} + dependencies: + undici-types: 5.26.5 /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -2136,7 +2087,7 @@ packages: /@types/sax@1.2.7: resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.24 /@types/semver@7.5.7: resolution: {integrity: sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==} @@ -2144,14 +2095,14 @@ packages: /@types/tar-fs@2.0.4: resolution: {integrity: sha512-ipPec0CjTmVDWE+QKr9cTmIIoTl7dFG/yARCM5MqK8i6CNLIG1P8x4kwDsOQY1ChZOZjH0wO9nvfgBvWl4R3kA==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.24 '@types/tar-stream': 3.1.3 dev: true /@types/tar-stream@3.1.3: resolution: {integrity: sha512-Zbnx4wpkWBMBSu5CytMbrT5ZpMiF55qgM+EpHzR4yIDu7mv52cej8hTkOc6K+LzpkOAbxwn/m7j3iO+/l42YkQ==} dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.24 dev: true /@types/unist@2.0.10: @@ -2160,35 +2111,6 @@ packages: /@types/unist@3.0.2: resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} - /@typescript-eslint/eslint-plugin@7.0.1(@typescript-eslint/parser@7.0.1)(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-OLvgeBv3vXlnnJGIAgCLYKjgMEU+wBGj07MQ/nxAaON+3mLzX7mJbhRYrVGiVvFiXtwFlkcBa/TtmglHy0UbzQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.0.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 7.0.1 - '@typescript-eslint/type-utils': 7.0.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 7.0.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 7.0.1 - debug: 4.3.4 - eslint: 8.56.0 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - semver: 7.6.0 - ts-api-utils: 1.2.1(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/parser@7.0.1(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-8GcRRZNzaHxKzBPU3tKtFNing571/GwPBeCvmAUw0yBtfE2XVd0zFKJIMSWkHJcPQi0ekxjIts6L/rrZq5cxGQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2226,26 +2148,6 @@ packages: '@typescript-eslint/visitor-keys': 7.0.1 dev: true - /@typescript-eslint/type-utils@7.0.1(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-YtT9UcstTG5Yqy4xtLiClm1ZpM/pWVGFnkAa90UfdkkZsR1eP2mR/1jbHeYp8Ay1l1JHPyGvoUYR6o3On5Nhmw==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/typescript-estree': 7.0.1(typescript@5.3.3) - '@typescript-eslint/utils': 7.0.1(eslint@8.56.0)(typescript@5.3.3) - debug: 4.3.4 - eslint: 8.56.0 - ts-api-utils: 1.2.1(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/types@5.62.0: resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2278,25 +2180,6 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@7.0.1(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-oe4his30JgPbnv+9Vef1h48jm0S6ft4mNwi9wj7bX10joGn07QRfqIqFHoMiajrtoU88cIhXf8ahwgrcbNLgPA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.7 - '@typescript-eslint/scope-manager': 7.0.1 - '@typescript-eslint/types': 7.0.1 - '@typescript-eslint/typescript-estree': 7.0.1(typescript@5.3.3) - eslint: 8.56.0 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@typescript-eslint/visitor-keys@5.62.0: resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2327,7 +2210,7 @@ packages: '@unocss/core': 0.58.5 '@unocss/reset': 0.58.5 '@unocss/vite': 0.58.5(vite@5.1.4) - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(sass@1.71.0) transitivePeerDependencies: - rollup @@ -2502,7 +2385,7 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.7 - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(sass@1.71.0) transitivePeerDependencies: - rollup @@ -2514,11 +2397,11 @@ packages: chai: 4.4.1 dev: true - /@vitest/expect@1.3.0: - resolution: {integrity: sha512-7bWt0vBTZj08B+Ikv70AnLRicohYwFgzNjFqo9SxxqHHxSlUJGSXmCRORhOnRMisiUryKMdvsi1n27Bc6jL9DQ==} + /@vitest/expect@1.3.1: + resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} dependencies: - '@vitest/spy': 1.3.0 - '@vitest/utils': 1.3.0 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 chai: 4.4.1 dev: true @@ -2530,10 +2413,10 @@ packages: pathe: 1.1.2 dev: true - /@vitest/runner@1.3.0: - resolution: {integrity: sha512-1Jb15Vo/Oy7mwZ5bXi7zbgszsdIBNjc4IqP8Jpr/8RdBC4nF1CTzIAn2dxYvpF1nGSseeL39lfLQ2uvs5u1Y9A==} + /@vitest/runner@1.3.1: + resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} dependencies: - '@vitest/utils': 1.3.0 + '@vitest/utils': 1.3.1 p-limit: 5.0.0 pathe: 1.1.2 dev: true @@ -2546,8 +2429,8 @@ packages: pretty-format: 29.7.0 dev: true - /@vitest/snapshot@1.3.0: - resolution: {integrity: sha512-swmktcviVVPYx9U4SEQXLV6AEY51Y6bZ14jA2yo6TgMxQ3h+ZYiO0YhAHGJNp0ohCFbPAis1R9kK0cvN6lDPQA==} + /@vitest/snapshot@1.3.1: + resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} dependencies: magic-string: 0.30.7 pathe: 1.1.2 @@ -2560,25 +2443,25 @@ packages: tinyspy: 2.2.1 dev: true - /@vitest/spy@1.3.0: - resolution: {integrity: sha512-AkCU0ThZunMvblDpPKgjIi025UxR8V7MZ/g/EwmAGpjIujLVV2X6rGYGmxE2D4FJbAy0/ijdROHMWa2M/6JVMw==} + /@vitest/spy@1.3.1: + resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} dependencies: tinyspy: 2.2.1 dev: true - /@vitest/ui@1.3.0(vitest@1.3.0): - resolution: {integrity: sha512-gDGEBUddrPOJvF4e0nIeKBz1whiDthBxBB0OUAbUqnY0HxJwqlKg9R257Sxoeh1Q7ZDSzc7qY96n4hrEPy1NaQ==} + /@vitest/ui@1.3.1(vitest@1.3.1): + resolution: {integrity: sha512-2UrFLJ62c/eJGPHcclstMKlAR7E1WB1ITe1isuowEPJJHi3HfqofvsUqQ1cGrEF7kitG1DJuwURUA3HLDtQkXA==} peerDependencies: - vitest: 1.3.0 + vitest: 1.3.1 dependencies: - '@vitest/utils': 1.3.0 + '@vitest/utils': 1.3.1 fast-glob: 3.3.2 fflate: 0.8.2 flatted: 3.2.9 pathe: 1.1.2 picocolors: 1.0.0 sirv: 2.0.4 - vitest: 1.3.0(@types/node@20.11.19)(@vitest/ui@1.3.0) + vitest: 1.3.1(@vitest/ui@1.3.1) dev: true /@vitest/utils@1.2.2: @@ -2590,8 +2473,8 @@ packages: pretty-format: 29.7.0 dev: true - /@vitest/utils@1.3.0: - resolution: {integrity: sha512-/LibEY/fkaXQufi4GDlQZhikQsPO2entBKtfuyIpr1jV4DpaeasqkeHjhdOhU24vSHshcSuEyVlWdzvv2XmYCw==} + /@vitest/utils@1.3.1: + resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -2787,28 +2670,6 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - /array.prototype.filter@1.0.3: - resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - es-array-method-boxes-properly: 1.0.0 - is-string: 1.0.7 - dev: true - - /array.prototype.findlastindex@1.2.4: - resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - es-errors: 1.3.0 - es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} @@ -2879,7 +2740,7 @@ packages: peerDependencies: astro: ^3.3.0 || ^4.0.0-beta dependencies: - astro: 4.4.0(typescript@5.3.3) + astro: 4.4.0(sass@1.71.0)(typescript@5.3.3) hast-util-to-html: 8.0.4 remark-expressive-code: 0.32.4 @@ -2911,7 +2772,7 @@ packages: vue: optional: true dependencies: - astro: 4.4.9 + astro: 4.4.9(@types/node@20.11.24) pathe: 1.1.2 dev: false @@ -3020,90 +2881,6 @@ packages: - typescript dev: false - /astro@4.3.7(typescript@5.3.3): - resolution: {integrity: sha512-spdl+Ae6WZjQ0w8VBPq8ulN1hdN0m4EWvKG7ecgHjPQIHidMnzWJoZLEFEeKASqCGB1fDibqr7RDHoHkhZbp2Q==} - engines: {node: '>=18.14.1', npm: '>=6.14.0'} - hasBin: true - dependencies: - '@astrojs/compiler': 2.5.3 - '@astrojs/internal-helpers': 0.2.1 - '@astrojs/markdown-remark': 4.2.1 - '@astrojs/telemetry': 3.0.4 - '@babel/core': 7.23.9 - '@babel/generator': 7.23.6 - '@babel/parser': 7.23.9 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - '@types/babel__core': 7.20.5 - acorn: 8.11.3 - aria-query: 5.3.0 - axobject-query: 4.0.0 - boxen: 7.1.1 - chokidar: 3.6.0 - ci-info: 4.0.0 - clsx: 2.1.0 - common-ancestor-path: 1.0.1 - cookie: 0.6.0 - cssesc: 3.0.0 - debug: 4.3.4 - deterministic-object-hash: 2.0.2 - devalue: 4.3.2 - diff: 5.2.0 - dlv: 1.1.3 - dset: 3.1.3 - es-module-lexer: 1.4.1 - esbuild: 0.19.12 - estree-walker: 3.0.3 - execa: 8.0.1 - fast-glob: 3.3.2 - flattie: 1.1.0 - github-slugger: 2.0.0 - gray-matter: 4.0.3 - html-escaper: 3.0.3 - http-cache-semantics: 4.1.1 - js-yaml: 4.1.0 - kleur: 4.1.5 - magic-string: 0.30.7 - mdast-util-to-hast: 13.0.2 - mime: 3.0.0 - ora: 7.0.1 - p-limit: 5.0.0 - p-queue: 8.0.1 - path-to-regexp: 6.2.1 - preferred-pm: 3.1.2 - probe-image-size: 7.2.3 - prompts: 2.4.2 - rehype: 13.0.1 - resolve: 1.22.8 - semver: 7.6.0 - server-destroy: 1.0.1 - shikiji: 0.9.19 - shikiji-core: 0.9.19 - string-width: 7.1.0 - strip-ansi: 7.1.0 - tsconfck: 3.0.2(typescript@5.3.3) - unist-util-visit: 5.0.0 - vfile: 6.0.1 - vite: 5.1.4(@types/node@20.11.19) - vitefu: 0.2.5(vite@5.1.4) - which-pm: 2.1.1 - yargs-parser: 21.1.1 - zod: 3.22.4 - optionalDependencies: - sharp: 0.32.6 - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - - typescript - dev: false - /astro@4.4.0(sass@1.71.0)(typescript@5.3.3): resolution: {integrity: sha512-JAsMrm1Z6W4Iqg9Q7LW/6lCXrqa4jndEOlR/yu7NGNP0BrPwSM8i4+yzya6hxgsNvyyVK8ywthaNhFmqd8Z+cg==} engines: {node: '>=18.14.1', npm: '>=6.14.0'} @@ -3186,92 +2963,8 @@ packages: - supports-color - terser - typescript - dev: false - /astro@4.4.0(typescript@5.3.3): - resolution: {integrity: sha512-JAsMrm1Z6W4Iqg9Q7LW/6lCXrqa4jndEOlR/yu7NGNP0BrPwSM8i4+yzya6hxgsNvyyVK8ywthaNhFmqd8Z+cg==} - engines: {node: '>=18.14.1', npm: '>=6.14.0'} - hasBin: true - dependencies: - '@astrojs/compiler': 2.5.3 - '@astrojs/internal-helpers': 0.2.1 - '@astrojs/markdown-remark': 4.2.1 - '@astrojs/telemetry': 3.0.4 - '@babel/core': 7.23.9 - '@babel/generator': 7.23.6 - '@babel/parser': 7.23.9 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - '@medv/finder': 3.1.0 - '@types/babel__core': 7.20.5 - acorn: 8.11.3 - aria-query: 5.3.0 - axobject-query: 4.0.0 - boxen: 7.1.1 - chokidar: 3.6.0 - ci-info: 4.0.0 - clsx: 2.1.0 - common-ancestor-path: 1.0.1 - cookie: 0.6.0 - cssesc: 3.0.0 - debug: 4.3.4 - deterministic-object-hash: 2.0.2 - devalue: 4.3.2 - diff: 5.2.0 - dlv: 1.1.3 - dset: 3.1.3 - es-module-lexer: 1.4.1 - esbuild: 0.19.12 - estree-walker: 3.0.3 - execa: 8.0.1 - fast-glob: 3.3.2 - flattie: 1.1.0 - github-slugger: 2.0.0 - gray-matter: 4.0.3 - html-escaper: 3.0.3 - http-cache-semantics: 4.1.1 - js-yaml: 4.1.0 - kleur: 4.1.5 - magic-string: 0.30.7 - mdast-util-to-hast: 13.0.2 - mime: 3.0.0 - ora: 7.0.1 - p-limit: 5.0.0 - p-queue: 8.0.1 - path-to-regexp: 6.2.1 - preferred-pm: 3.1.2 - prompts: 2.4.2 - rehype: 13.0.1 - resolve: 1.22.8 - semver: 7.6.0 - server-destroy: 1.0.1 - shikiji: 0.9.19 - shikiji-core: 0.9.19 - string-width: 7.1.0 - strip-ansi: 7.1.0 - tsconfck: 3.0.2(typescript@5.3.3) - unist-util-visit: 5.0.0 - vfile: 6.0.1 - vite: 5.1.4(@types/node@20.11.19) - vitefu: 0.2.5(vite@5.1.4) - which-pm: 2.1.1 - yargs-parser: 21.1.1 - zod: 3.22.4 - optionalDependencies: - sharp: 0.32.6 - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - - typescript - - /astro@4.4.9: + /astro@4.4.9(@types/node@20.11.24): resolution: {integrity: sha512-FTWhzKjao7rHHiF/CqPqPS18AFad+fmUcYUFhWWIsYETHcc9g0IIIiv6cHXUE7g6mEZf7ycAa+WdboeEHUhraQ==} engines: {node: '>=18.14.1', npm: '>=6.14.0'} hasBin: true @@ -3335,7 +3028,7 @@ packages: tsconfck: 3.0.2(typescript@5.3.3) unist-util-visit: 5.0.0 vfile: 6.0.1 - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.24) vitefu: 0.2.5(vite@5.1.4) which-pm: 2.1.1 yargs-parser: 21.1.1 @@ -3907,6 +3600,7 @@ packages: optional: true dependencies: ms: 2.1.3 + dev: false /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -4041,13 +3735,6 @@ packages: /dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -4089,14 +3776,6 @@ packages: dependencies: once: 1.4.0 - /enhanced-resolve@5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - dev: true - /enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -4159,10 +3838,6 @@ packages: unbox-primitive: 1.0.2 which-typed-array: 1.1.14 - /es-array-method-boxes-properly@1.0.0: - resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} - dev: true - /es-define-property@1.0.0: resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} @@ -4279,78 +3954,6 @@ packages: semver: 7.6.0 dev: true - /eslint-config-prettier@9.1.0(eslint@8.56.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.56.0 - dev: true - - /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - dependencies: - debug: 3.2.7 - is-core-module: 2.13.1 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.0.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - dependencies: - debug: 4.3.4 - enhanced-resolve: 5.15.0 - eslint: 8.56.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.0.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.0.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - fast-glob: 3.3.2 - get-tsconfig: 4.7.2 - is-core-module: 2.13.1 - is-glob: 4.0.3 - transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - supports-color - dev: true - - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.0.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 7.0.1(eslint@8.56.0)(typescript@5.3.3) - debug: 3.2.7 - eslint: 8.56.0 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.0.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) - transitivePeerDependencies: - - supports-color - dev: true - /eslint-plugin-astro@0.31.4(eslint@8.56.0): resolution: {integrity: sha512-aU1KYSo7TdnSTBenyAWuRFB07lVUe0/6u9cltC2ZCx0QgcfC+HP7e87OkmvoKh+RZuaSsVgLG4zCOI8LZ6nS/Q==} engines: {node: ^14.18.0 || >=16.0.0} @@ -4369,41 +3972,6 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.0.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 7.0.1(eslint@8.56.0)(typescript@5.3.3) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.4 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.56.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.0.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - hasown: 2.0.1 - is-core-module: 2.13.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.2 - object.values: 1.1.7 - semver: 6.3.1 - tsconfig-paths: 3.15.0 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0): resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} engines: {node: '>=4.0'} @@ -4848,12 +4416,6 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.2.4 - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: true - /github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} requiresBuild: true @@ -4926,6 +4488,7 @@ packages: /globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + dev: false /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} @@ -5298,7 +4861,6 @@ packages: /immutable@4.3.5: resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} - dev: false /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -5653,13 +5215,6 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -5714,6 +5269,11 @@ packages: /kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + /ky@1.2.2: + resolution: {integrity: sha512-gYA2QOI3uIaImJPJjaBbLCdvKHzwxsuB03s7PjrXmoO6tcn6k53rwYoSRgqrmVsEV6wFFegOXDVjABxFZ0aRSg==} + engines: {node: '>=18'} + dev: false + /language-subtag-registry@0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} dev: true @@ -6485,6 +6045,7 @@ packages: /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false /muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} @@ -6642,16 +6203,6 @@ packages: es-abstract: 1.22.4 dev: true - /object.groupby@1.0.2: - resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==} - dependencies: - array.prototype.filter: 1.0.3 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - es-errors: 1.3.0 - dev: true - /object.values@1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} @@ -6778,6 +6329,16 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + /package-json@10.0.0: + resolution: {integrity: sha512-w34pqp733w35nElGG6eH1OnDnHEWud4uxruQ2nKzY/Uy0uOJmWFdjDcAC+xAD4goVuBZStwaAEBS21BANv83HQ==} + engines: {node: '>=18'} + dependencies: + ky: 1.2.2 + registry-auth-token: 5.0.2 + registry-url: 6.0.1 + semver: 7.6.0 + dev: false + /package-json@9.0.0: resolution: {integrity: sha512-vGgkl6BR8SJUcOdhj49/17fqYpBYr4fAlbBA3we5j548q114UAafKBEVck85Kk2HKhVzWGIAVybFpJ9LesJY6w==} engines: {node: '>=18'} @@ -7365,10 +6926,6 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true - /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -7502,7 +7059,6 @@ packages: chokidar: 3.6.0 immutable: 4.3.5 source-map-js: 1.0.2 - dev: false /satori-html@0.3.2: resolution: {integrity: sha512-wjTh14iqADFKDK80e51/98MplTGfxz2RmIzh0GqShlf4a67+BooLywF17TvJPD6phO0Hxm7Mf1N5LtRYvdkYRA==} @@ -7986,11 +7542,6 @@ packages: - ts-node dev: false - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true - /tar-fs@2.1.1: resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} requiresBuild: true @@ -8127,15 +7678,6 @@ packages: dependencies: typescript: 5.3.3 - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true @@ -8423,7 +7965,7 @@ packages: '@unocss/transformer-directives': 0.58.5 '@unocss/transformer-variant-group': 0.58.5 '@unocss/vite': 0.58.5(vite@5.1.4) - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(sass@1.71.0) transitivePeerDependencies: - postcss - rollup @@ -8509,7 +8051,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(sass@1.71.0) transitivePeerDependencies: - '@types/node' - less @@ -8521,8 +8063,8 @@ packages: - terser dev: true - /vite-node@1.3.0(@types/node@20.11.19): - resolution: {integrity: sha512-D/oiDVBw75XMnjAXne/4feCkCEwcbr2SU1bjAhCcfI5Bq3VoOHji8/wCPAfUkDIeohJ5nSZ39fNxM3dNZ6OBOA==} + /vite-node@1.3.1: + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -8530,7 +8072,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(sass@1.71.0) transitivePeerDependencies: - '@types/node' - less @@ -8542,21 +8084,26 @@ packages: - terser dev: true - /vite-tsconfig-paths@4.3.1(typescript@5.3.3)(vite@5.1.3): - resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==} - peerDependencies: - vite: '*' - peerDependenciesMeta: - vite: - optional: true + /vite-node@1.3.1(@types/node@20.11.24): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true dependencies: + cac: 6.7.14 debug: 4.3.4 - globrex: 0.1.2 - tsconfck: 3.0.2(typescript@5.3.3) - vite: 5.1.3(@types/node@20.11.19) + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.24) transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss - supports-color - - typescript + - terser + dev: true /vite-tsconfig-paths@4.3.1(typescript@5.3.3)(vite@5.1.4): resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==} @@ -8569,13 +8116,30 @@ packages: debug: 4.3.4 globrex: 0.1.2 tsconfck: 3.0.2(typescript@5.3.3) - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(sass@1.71.0) transitivePeerDependencies: - supports-color - typescript dev: false - /vite@5.1.3(@types/node@20.11.19): + /vite-tsconfig-paths@4.3.1(vite@5.1.3): + resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==} + peerDependencies: + vite: '*' + peerDependenciesMeta: + vite: + optional: true + dependencies: + debug: 4.3.4 + globrex: 0.1.2 + tsconfck: 3.0.2(typescript@5.3.3) + vite: 5.1.3 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + + /vite@5.1.3: resolution: {integrity: sha512-UfmUD36DKkqhi/F75RrxvPpry+9+tTkrXfMNZD+SboZqBCMsxKtO52XeGzzuh7ioz+Eo/SYDBbdb0Z7vgcDJew==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -8603,14 +8167,14 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.19 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.11.0 optionalDependencies: fsevents: 2.3.3 + dev: false - /vite@5.1.4(@types/node@20.11.19): + /vite@5.1.4(@types/node@20.11.24): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -8638,7 +8202,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.19 + '@types/node': 20.11.24 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.11.0 @@ -8679,7 +8243,6 @@ packages: sass: 1.71.0 optionalDependencies: fsevents: 2.3.3 - dev: false /vitefu@0.2.5(vite@5.1.4): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} @@ -8689,7 +8252,7 @@ packages: vite: optional: true dependencies: - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.24) /vitest-fetch-mock@0.2.2(vitest@1.2.2): resolution: {integrity: sha512-XmH6QgTSjCWrqXoPREIdbj40T7i1xnGmAsTAgfckoO75W1IEHKR8hcPCQ7SO16RsdW1t85oUm6pcQRLeBgjVYQ==} @@ -8698,24 +8261,24 @@ packages: vitest: '>=0.16.0' dependencies: cross-fetch: 3.1.8 - vitest: 1.2.2(@vitest/ui@1.3.0) + vitest: 1.2.2(@vitest/ui@1.3.1) transitivePeerDependencies: - encoding dev: true - /vitest-fetch-mock@0.2.2(vitest@1.3.0): + /vitest-fetch-mock@0.2.2(vitest@1.3.1): resolution: {integrity: sha512-XmH6QgTSjCWrqXoPREIdbj40T7i1xnGmAsTAgfckoO75W1IEHKR8hcPCQ7SO16RsdW1t85oUm6pcQRLeBgjVYQ==} engines: {node: '>=14.14.0'} peerDependencies: vitest: '>=0.16.0' dependencies: cross-fetch: 3.1.8 - vitest: 1.3.0(@types/node@20.11.19)(@vitest/ui@1.3.0) + vitest: 1.3.1(@vitest/ui@1.3.1) transitivePeerDependencies: - encoding dev: true - /vitest@1.2.2(@vitest/ui@1.3.0): + /vitest@1.2.2(@vitest/ui@1.3.1): resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -8744,7 +8307,7 @@ packages: '@vitest/runner': 1.2.2 '@vitest/snapshot': 1.2.2 '@vitest/spy': 1.2.2 - '@vitest/ui': 1.3.0(vitest@1.3.0) + '@vitest/ui': 1.3.1(vitest@1.3.1) '@vitest/utils': 1.2.2 acorn-walk: 8.3.2 cac: 6.7.14 @@ -8759,7 +8322,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.19) + vite: 5.1.4(sass@1.71.0) vite-node: 1.2.2 why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -8772,15 +8335,15 @@ packages: - terser dev: true - /vitest@1.3.0(@types/node@20.11.19)(@vitest/ui@1.3.0): - resolution: {integrity: sha512-V9qb276J1jjSx9xb75T2VoYXdO1UKi+qfflY7V7w93jzX7oA/+RtYE6TcifxksxsZvygSSMwu2Uw6di7yqDMwg==} + /vitest@1.3.1(@types/node@20.11.24)(@vitest/ui@1.3.1): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.0 - '@vitest/ui': 1.3.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -8797,13 +8360,13 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.19 - '@vitest/expect': 1.3.0 - '@vitest/runner': 1.3.0 - '@vitest/snapshot': 1.3.0 - '@vitest/spy': 1.3.0 - '@vitest/ui': 1.3.0(vitest@1.3.0) - '@vitest/utils': 1.3.0 + '@types/node': 20.11.24 + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/ui': 1.3.1(vitest@1.3.1) + '@vitest/utils': 1.3.1 acorn-walk: 8.3.2 chai: 4.4.1 debug: 4.3.4 @@ -8816,8 +8379,64 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.19) - vite-node: 1.3.0(@types/node@20.11.19) + vite: 5.1.4(@types/node@20.11.24) + vite-node: 1.3.1(@types/node@20.11.24) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vitest@1.3.1(@vitest/ui@1.3.1): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/ui': 1.3.1(vitest@1.3.1) + '@vitest/utils': 1.3.1 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(sass@1.71.0) + vite-node: 1.3.1 why-is-node-running: 2.2.2 transitivePeerDependencies: - less