diff --git a/packages/astro-ghostcms/package.json b/packages/astro-ghostcms/package.json index 15fd2c96..0a2c4e0d 100644 --- a/packages/astro-ghostcms/package.json +++ b/packages/astro-ghostcms/package.json @@ -57,11 +57,11 @@ "test:ci": "vitest run --coverage.enabled --coverage.reporter='text-summary'" }, "peerDependencies": { - "astro": "^4.4.1" + "astro": ">=4.4.1" }, "devDependencies": { - "@types/fs-extra": "11.0.4", - "@types/node": "20.11.24", + "@types/fs-extra": "^11.0.4", + "@types/node": "^20.11.24", "vitest": "^1.3.1", "vitest-fetch-mock": "^0.2.2" }, @@ -74,11 +74,11 @@ "@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", + "fs-extra": "^11.2.0", + "package-json": "^10.0.0", + "picocolors": "^1.0.0", "satori": "^0.10.13", - "satori-html": "0.3.2", + "satori-html": "^0.3.2", "vite": "^5.1.4" } } diff --git a/packages/astro-ghostcms/src/api/index.ts b/packages/astro-ghostcms/src/api/index.ts index b229791e..595a15a8 100644 --- a/packages/astro-ghostcms/src/api/index.ts +++ b/packages/astro-ghostcms/src/api/index.ts @@ -1,2 +1,3 @@ export * from "./ghostAPI"; export * from "./invariant"; +export * from "../schemas/api/index"; diff --git a/packages/astro-ghostcms/src/astro-ghostcms.ts b/packages/astro-ghostcms/src/astro-ghostcms.ts index 4187c9a6..4ba0d5f1 100644 --- a/packages/astro-ghostcms/src/astro-ghostcms.ts +++ b/packages/astro-ghostcms/src/astro-ghostcms.ts @@ -7,17 +7,17 @@ import fse from "fs-extra"; import { createResolver, defineIntegration } from "astro-integration-kit"; import { corePlugins } from "astro-integration-kit/plugins"; import { AstroError } from "astro/errors"; +import c from "picocolors"; import { loadEnv } from "vite"; import latestVersion from "./utils/latestVersion"; -import c from "picocolors"; // External Integrations import sitemap from "@astrojs/sitemap"; import robotsTxt from "astro-robots-txt"; +import ghostRSS from "./integrations/rssfeed"; // Internal Integrations import ghostOGImages from "./integrations/satoriog"; -import ghostRSS from "./integrations/rssfeed"; import ghostThemeProvider from "./integrations/themeprovider"; // Load environment variables @@ -39,14 +39,16 @@ export default defineIntegration({ return { "astro:config:setup": ({ - watchIntegration, hasIntegration, addIntegration, - addVirtualImports, addDts, - injectRoute, logger, + watchIntegration, + hasIntegration, + addIntegration, + addVirtualImports, + addDts, + injectRoute, + logger, }) => { - // Configure Loggers - const GhostLogger = logger.fork( - c.bold(c.blue("👻 Astro-GhostCMS")) - ); + // Configure Loggers + const GhostLogger = logger.fork(c.bold(c.blue("👻 Astro-GhostCMS"))); const GhostENVLogger = logger.fork( `${c.bold(c.blue("👻 Astro-GhostCMS"))}${c.gray("/")}${c.blue( "ENV Check", @@ -63,11 +65,11 @@ export default defineIntegration({ )}`, ); - // Setup Watch Integration for Hot Reload during DEV + // Setup Watch Integration for Hot Reload during DEV watchIntegration(resolve()); GhostLogger.info("Initializing @matthiesenxyz/astro-ghostcms..."); - // Set up verbose logging + // Set up verbose logging const verbose = options.fullConsoleLogs; // Check for GhostCMS environment variables @@ -78,7 +80,7 @@ export default defineIntegration({ ), ), ); - + if (ENV.CONTENT_API_KEY === undefined) { GhostENVLogger.error( c.bgRed( @@ -236,20 +238,20 @@ export default defineIntegration({ }); }, "astro:config:done": ({ logger }) => { - // Configure Loggers + // Configure Loggers const GhostLogger = logger.fork( `${c.bold(c.blue("👻 Astro-GhostCMS"))}${c.gray("/")}${c.green( "CONFIG", )}`, ); - // Log Configuration Complete + // Log Configuration Complete GhostLogger.info( c.bold(c.green("Integration Setup & Configuration Complete")), ); }, "astro:server:start": async ({ logger }) => { - // Configure Loggers + // Configure Loggers const GhostLogger = logger.fork( `${c.bold(c.blue("👻 Astro-GhostCMS"))}${c.gray("/")}${c.bold( c.green("DEV"), @@ -268,18 +270,18 @@ export default defineIntegration({ // Check for updates - // Get the latest version of Astro-GhostCMS + // Get the latest version of Astro-GhostCMS const currentNPMVersion = await latestVersion( "@matthiesenxyz/astro-ghostcms", ); - // Get the local version of Astro-GhostCMS + // Get the local version of Astro-GhostCMS const packageJson = await fse.readJson( path.resolve(fileURLToPath(import.meta.url), "../../package.json"), ); const localVersion = packageJson.version; - // Log the version check + // Log the version check if (currentNPMVersion !== localVersion) { GhostUpdateLogger.warn( `\n${c.bgYellow( @@ -308,14 +310,14 @@ export default defineIntegration({ } }, "astro:build:done": ({ logger }) => { - // Configure Loggers + // Configure Loggers const GhostLogger = logger.fork( `${c.bold(c.blue("👻 Astro-GhostCMS"))}${c.gray("/")}${c.bold( c.green("BUILD"), )}`, ); - // Log Build Complete + // Log Build Complete GhostLogger.info( c.bold(c.magenta("Running Astro-GhostCMS in Production mode 🚀")), ); diff --git a/packages/astro-ghostcms/src/schemas/userconfig.test.ts b/packages/astro-ghostcms/src/schemas/userconfig.test.ts index c7c5e6ad..2f7a503d 100644 --- a/packages/astro-ghostcms/src/schemas/userconfig.test.ts +++ b/packages/astro-ghostcms/src/schemas/userconfig.test.ts @@ -5,33 +5,28 @@ describe("GhostUserConfigSchema", () => { it("should validate a valid user config", () => { const validConfig = { ghostURL: "https://ghostdemo.matthiesen.xyz", - disableThemeProvider: true, ThemeProvider: { + disableThemeProvider: true, theme: "@matthiesenxyz/astro-ghostcms-theme-default", }, disableDefault404: false, enableRSSFeed: true, enableOGImages: true, - sitemap: { - // sitemap configuration - }, - robotstxt: { - // robotstxt configuration - }, fullConsoleLogs: false, }; const result = GhostUserConfigSchema.safeParse(validConfig); expect(result.success).to.be.true; + // @ts-expect-error expect(result.data).to.deep.equal(validConfig); }); it("should invalidate an invalid user config", () => { const invalidConfig = { ghostURL: "invalid-url", - disableThemeProvider: "true", ThemeProvider: { + disableThemeProvider: "true", theme: 123, }, disableDefault404: "false", diff --git a/packages/astro-ghostcms/src/schemas/userconfig.ts b/packages/astro-ghostcms/src/schemas/userconfig.ts index a475684b..d3f59944 100644 --- a/packages/astro-ghostcms/src/schemas/userconfig.ts +++ b/packages/astro-ghostcms/src/schemas/userconfig.ts @@ -1,6 +1,6 @@ -import { z } from "astro/zod"; -import type { RobotsTxtOptions } from "astro-robots-txt"; import type { SitemapOptions } from "@astrojs/sitemap"; +import type { RobotsTxtOptions } from "astro-robots-txt"; +import { z } from "astro/zod"; export const GhostUserConfigSchema = z.object({ /** OPTIONAL - Either set the URL in your .env or put it here @@ -45,20 +45,22 @@ export const GhostUserConfigSchema = z.object({ * This option allows the user to configure the included integrations * Options shown are the availble options */ - Integrations: z.object({ - /** Optional - astro-robots-txt - * This option allows the user to configure the included integration - * Options shown are the availble options - * @see https://www.npmjs.com/package/astro-robots-txt#configuration - */ - robotsTxt: z.custom().optional(), - /** OPTIONAL - astrojs/sitemap - * This option allows the user to configure the included integration - * Options shown are the availble options - * @see https://docs.astro.build/en/guides/integrations-guide/sitemap - */ - sitemap: z.custom().optional(), - }).optional(), + Integrations: z + .object({ + /** Optional - astro-robots-txt + * This option allows the user to configure the included integration + * Options shown are the availble options + * @see https://www.npmjs.com/package/astro-robots-txt#configuration + */ + robotsTxt: z.custom().optional(), + /** OPTIONAL - astrojs/sitemap + * This option allows the user to configure the included integration + * Options shown are the availble options + * @see https://docs.astro.build/en/guides/integrations-guide/sitemap + */ + sitemap: z.custom().optional(), + }) + .optional(), }); /** USER CONFIGURATION SCHEMA */ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 650bc7de..7308e6f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,7 +45,7 @@ importers: specifier: ^6.0.0 version: 6.0.0 astro: - specifier: ^4.4.1 + specifier: '>=4.4.1' version: 4.4.9(@types/node@20.11.24) astro-integration-kit: specifier: ^0.5.0 @@ -54,29 +54,29 @@ importers: specifier: ^1.0.0 version: 1.0.0 fs-extra: - specifier: 11.2.0 + specifier: ^11.2.0 version: 11.2.0 package-json: - specifier: 10.0.0 + specifier: ^10.0.0 version: 10.0.0 picocolors: - specifier: 1.0.0 + specifier: ^1.0.0 version: 1.0.0 satori: specifier: ^0.10.13 version: 0.10.13 satori-html: - specifier: 0.3.2 + specifier: ^0.3.2 version: 0.3.2 vite: specifier: ^5.1.4 version: 5.1.4(@types/node@20.11.24) devDependencies: '@types/fs-extra': - specifier: 11.0.4 + specifier: ^11.0.4 version: 11.0.4 '@types/node': - specifier: 20.11.24 + specifier: ^20.11.24 version: 20.11.24 vitest: specifier: ^1.3.1 @@ -98,7 +98,7 @@ importers: version: 1.1.8 '@matthiesenxyz/astro-ghostcms': specifier: ^3.2.9 - version: 3.2.9(sass@1.71.0)(typescript@5.3.3) + version: link:../astro-ghostcms '@matthiesenxyz/astro-ghostcms-rendercontent': specifier: ^0.0.7 version: link:../astro-ghostcms-rendercontent @@ -156,7 +156,7 @@ importers: version: 5.0.16 '@matthiesenxyz/astro-ghostcms': specifier: ^3.2.9 - version: 3.2.9(sass@1.71.0)(typescript@5.3.3) + version: link:../astro-ghostcms '@tailwindcss/typography': specifier: ^0.5.10 version: 0.5.10(tailwindcss@3.4.1) @@ -184,13 +184,13 @@ importers: devDependencies: astro: specifier: 4.4.0 - version: 4.4.0(sass@1.71.0)(typescript@5.3.3) + version: 4.4.0(typescript@5.3.3) packages/astro-ghostcms-theme-default: dependencies: '@matthiesenxyz/astro-ghostcms': specifier: ^3.2.9 - version: 3.2.9(sass@1.71.0)(typescript@5.3.3) + version: link:../astro-ghostcms astro: specifier: ^4.2.1 version: 4.3.7(sass@1.71.0)(typescript@5.3.3) @@ -248,7 +248,7 @@ importers: specifier: ^4.0.5 version: 4.0.5 '@ts-ghost/core-api': - specifier: ^5.1.2 + specifier: 5.1.2 version: 5.1.2 vite: specifier: ^5.1.2 @@ -265,7 +265,7 @@ importers: version: link:../tsconfig astro: specifier: ^4.4.0 - version: 4.4.0(sass@1.71.0)(typescript@5.3.3) + version: 4.4.0(typescript@5.3.3) vitest: specifier: ^1.2.2 version: 1.2.2(@vitest/ui@1.3.1) @@ -291,7 +291,7 @@ importers: version: 0.58.5(vite@5.1.4) astro: specifier: ^4.4.0 - version: 4.4.0(sass@1.71.0)(typescript@5.3.3) + version: 4.4.0(typescript@5.3.3) tailwindcss: specifier: ^3.3.5 version: 3.4.1 @@ -316,7 +316,7 @@ importers: version: link:../../packages/starlight-ghostcms astro: specifier: ^4.4.0 - version: 4.4.0(sass@1.71.0)(typescript@5.3.3) + version: 4.4.0(typescript@5.3.3) sharp: specifier: ^0.32.5 version: 0.32.6 @@ -435,7 +435,7 @@ packages: '@astrojs/markdown-remark': 4.2.1 '@mdx-js/mdx': 3.0.1 acorn: 8.11.3 - astro: 4.4.0(sass@1.71.0)(typescript@5.3.3) + astro: 4.4.0(typescript@5.3.3) es-module-lexer: 1.4.1 estree-util-visit: 2.0.0 github-slugger: 2.0.0 @@ -480,7 +480,7 @@ packages: '@pagefind/default-ui': 1.0.4 '@types/hast': 3.0.4 '@types/mdast': 4.0.3 - astro: 4.4.0(sass@1.71.0)(typescript@5.3.3) + astro: 4.4.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 @@ -518,7 +518,7 @@ packages: astro: ^3.0.0 || ^4.0.0 tailwindcss: ^3.0.24 dependencies: - astro: 4.4.0(sass@1.71.0)(typescript@5.3.3) + astro: 4.4.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) @@ -1505,55 +1505,6 @@ packages: globby: 11.1.0 read-yaml-file: 1.1.0 - /@matthiesenxyz/astro-ghostcms-theme-default@0.1.13(astro@4.4.0)(typescript@5.3.3): - resolution: {integrity: sha512-W3zMuu+lJNkO+ccCsjCuGDwe/j8U08WAOowDy2fmwb5vkMu5QWYlCv8tR4Gh3VKfWodRTYoJsSkxETIQ7pXKxQ==} - peerDependencies: - astro: ^4.2.1 - dependencies: - '@matthiesenxyz/astro-ghostcms': 3.2.9(sass@1.71.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: - - '@types/node' - - less - - lightningcss - - stylus - - sugarss - - supports-color - - terser - - typescript - dev: false - - /@matthiesenxyz/astro-ghostcms@3.2.9(sass@1.71.0)(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(sass@1.71.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(sass@1.71.0) - 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: @@ -1921,18 +1872,6 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@sindresorhus/is@5.6.0: - resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} - engines: {node: '>=14.16'} - dev: false - - /@szmarczak/http-timer@5.0.1: - resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} - engines: {node: '>=14.16'} - dependencies: - defer-to-connect: 2.0.1 - dev: false - /@tailwindcss/typography@0.5.10(tailwindcss@3.4.1): resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} peerDependencies: @@ -2032,10 +1971,6 @@ packages: dependencies: '@types/unist': 3.0.2 - /@types/http-cache-semantics@4.0.4: - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - dev: false - /@types/jsonfile@6.1.4: resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} dependencies: @@ -2740,7 +2675,7 @@ packages: peerDependencies: astro: ^3.3.0 || ^4.0.0-beta dependencies: - astro: 4.4.0(sass@1.71.0)(typescript@5.3.3) + astro: 4.4.0(typescript@5.3.3) hast-util-to-html: 8.0.4 remark-expressive-code: 0.32.4 @@ -2881,7 +2816,7 @@ packages: - typescript dev: false - /astro@4.4.0(sass@1.71.0)(typescript@5.3.3): + /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 @@ -3248,24 +3183,6 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - /cacheable-lookup@7.0.0: - resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} - engines: {node: '>=14.16'} - dev: false - - /cacheable-request@10.2.14: - resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} - engines: {node: '>=14.16'} - dependencies: - '@types/http-cache-semantics': 4.0.4 - get-stream: 6.0.1 - http-cache-semantics: 4.1.1 - keyv: 4.5.4 - mimic-response: 4.0.0 - normalize-url: 8.0.0 - responselike: 3.0.0 - dev: false - /call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -3655,11 +3572,6 @@ packages: dependencies: clone: 1.0.4 - /defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - dev: false - /define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -4310,11 +4222,6 @@ packages: signal-exit: 4.1.0 dev: false - /form-data-encoder@2.1.4: - resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} - engines: {node: '>= 14.17'} - dev: false - /fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: false @@ -4495,23 +4402,6 @@ packages: dependencies: get-intrinsic: 1.2.4 - /got@13.0.0: - resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} - engines: {node: '>=16'} - dependencies: - '@sindresorhus/is': 5.6.0 - '@szmarczak/http-timer': 5.0.1 - cacheable-lookup: 7.0.0 - cacheable-request: 10.2.14 - decompress-response: 6.0.0 - form-data-encoder: 2.1.4 - get-stream: 6.0.1 - http2-wrapper: 2.2.1 - lowercase-keys: 3.0.0 - p-cancelable: 3.0.0 - responselike: 3.0.0 - dev: false - /graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: false @@ -4827,14 +4717,6 @@ packages: /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - /http2-wrapper@2.2.1: - resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} - engines: {node: '>=10.19.0'} - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - dev: false - /human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} @@ -5203,6 +5085,7 @@ packages: /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -5253,6 +5136,7 @@ packages: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 + dev: true /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} @@ -5372,11 +5256,6 @@ packages: get-func-name: 2.0.2 dev: true - /lowercase-keys@3.0.0: - resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false - /lru-cache@10.2.0: resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} @@ -5979,11 +5858,6 @@ packages: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} - /mimic-response@4.0.0: - resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false - /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -6134,11 +6008,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /normalize-url@8.0.0: - resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} - engines: {node: '>=14.16'} - dev: false - /not@0.1.0: resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} @@ -6269,11 +6138,6 @@ packages: /outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - /p-cancelable@3.0.0: - resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} - engines: {node: '>=12.20'} - dev: false - /p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -6339,16 +6203,6 @@ packages: semver: 7.6.0 dev: false - /package-json@9.0.0: - resolution: {integrity: sha512-vGgkl6BR8SJUcOdhj49/17fqYpBYr4fAlbBA3we5j548q114UAafKBEVck85Kk2HKhVzWGIAVybFpJ9LesJY6w==} - engines: {node: '>=18'} - dependencies: - got: 13.0.0 - registry-auth-token: 5.0.2 - registry-url: 6.0.1 - semver: 7.6.0 - dev: false - /pagefind@1.0.4: resolution: {integrity: sha512-oRIizYe+zSI2Jw4zcMU0ebDZm27751hRFiSOBLwc1OIYMrsZKk+3m8p9EVaOmc6zZdtqwwdilNUNxXvBeHcP9w==} hasBin: true @@ -6693,11 +6547,6 @@ packages: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} engines: {node: '>=8'} - /quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - dev: false - /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true @@ -6913,10 +6762,6 @@ packages: /require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - /resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - dev: false - /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -6934,13 +6779,6 @@ packages: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /responselike@3.0.0: - resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} - engines: {node: '>=14.16'} - dependencies: - lowercase-keys: 3.0.0 - dev: false - /restore-cursor@4.0.0: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -8105,23 +7943,6 @@ packages: - 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==} - 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.4(sass@1.71.0) - transitivePeerDependencies: - - supports-color - - typescript - dev: false - /vite-tsconfig-paths@4.3.1(vite@5.1.3): resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==} peerDependencies: