From 9ec2a6178279bb5c2dd9bcf37b439e782fa6315f Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Tue, 5 Mar 2024 19:00:22 -0800 Subject: [PATCH] Updates to starlight-ghostcms and create-astro-ghostcms --- .changeset/heavy-maps-act.md | 5 + .changeset/quiet-teachers-knock.md | 5 + .../src/templates/basic/package.json | 6 +- .../src/templates/brutal/astro.config.mjs | 8 +- .../src/templates/brutal/package.json | 6 +- .../src/templates/catppuccin/astro.config.mjs | 8 +- .../src/templates/catppuccin/package.json | 6 +- .../src/templates/starterkit/astro.config.mjs | 11 +- .../src/templates/starterkit/package.json | 4 +- packages/starlight-ghostcms/package.json | 12 +- .../src/overrides/Sidebar.astro | 2 +- .../src/routes/authors.astro | 2 +- .../src/utils/api/content-api/content-api.ts | 116 ------- .../src/utils/api/content-api/index.ts | 8 - .../api/content-api/schemas/authors/index.ts | 1 - .../api/content-api/schemas/helpers/index.ts | 1 - .../api/content-api/schemas/pages/index.ts | 1 - .../api/content-api/schemas/posts/index.ts | 1 - .../api/content-api/schemas/settings/index.ts | 1 - .../api/content-api/schemas/tags/index.ts | 1 - .../api/content-api/schemas/tiers/index.ts | 1 - .../content-api.test.ts => ghostAPI.test.ts} | 20 +- .../api/{api-functions.ts => ghostAPI.ts} | 59 ++-- .../starlight-ghostcms/src/utils/api/index.ts | 4 +- .../src/utils/api/invariant.ts | 1 - .../authors => schemas}/authors.test.ts | 8 +- .../schemas/authors => schemas}/authors.ts | 0 .../api/{content-api => }/schemas/index.ts | 2 +- .../schemas/pages => schemas}/pages.ts | 4 +- .../schemas/posts => schemas}/posts.test.ts | 12 +- .../schemas/posts => schemas}/posts.ts | 4 +- .../src/utils/api/schemas/settings.test.ts | 39 +++ .../schemas/settings => schemas}/settings.ts | 0 .../schemas/helpers => schemas}/socials.ts | 0 .../schemas/tags => schemas}/tags.ts | 0 .../schemas/tiers => schemas}/tiers.ts | 0 playgrounds/astro-playground/astro.config.mjs | 4 +- playgrounds/astro-playground/package.json | 1 + pnpm-lock.yaml | 294 ++++-------------- 39 files changed, 212 insertions(+), 446 deletions(-) create mode 100644 .changeset/heavy-maps-act.md create mode 100644 .changeset/quiet-teachers-knock.md delete mode 100644 packages/starlight-ghostcms/src/utils/api/content-api/content-api.ts delete mode 100644 packages/starlight-ghostcms/src/utils/api/content-api/index.ts delete mode 100644 packages/starlight-ghostcms/src/utils/api/content-api/schemas/authors/index.ts delete mode 100644 packages/starlight-ghostcms/src/utils/api/content-api/schemas/helpers/index.ts delete mode 100644 packages/starlight-ghostcms/src/utils/api/content-api/schemas/pages/index.ts delete mode 100644 packages/starlight-ghostcms/src/utils/api/content-api/schemas/posts/index.ts delete mode 100644 packages/starlight-ghostcms/src/utils/api/content-api/schemas/settings/index.ts delete mode 100644 packages/starlight-ghostcms/src/utils/api/content-api/schemas/tags/index.ts delete mode 100644 packages/starlight-ghostcms/src/utils/api/content-api/schemas/tiers/index.ts rename packages/starlight-ghostcms/src/utils/api/{content-api/content-api.test.ts => ghostAPI.test.ts} (82%) rename packages/starlight-ghostcms/src/utils/api/{api-functions.ts => ghostAPI.ts} (72%) rename packages/starlight-ghostcms/src/utils/api/{content-api/schemas/authors => schemas}/authors.test.ts (95%) rename packages/starlight-ghostcms/src/utils/api/{content-api/schemas/authors => schemas}/authors.ts (100%) rename packages/starlight-ghostcms/src/utils/api/{content-api => }/schemas/index.ts (85%) rename packages/starlight-ghostcms/src/utils/api/{content-api/schemas/pages => schemas}/pages.ts (94%) rename packages/starlight-ghostcms/src/utils/api/{content-api/schemas/posts => schemas}/posts.test.ts (87%) rename packages/starlight-ghostcms/src/utils/api/{content-api/schemas/posts => schemas}/posts.ts (95%) create mode 100644 packages/starlight-ghostcms/src/utils/api/schemas/settings.test.ts rename packages/starlight-ghostcms/src/utils/api/{content-api/schemas/settings => schemas}/settings.ts (100%) rename packages/starlight-ghostcms/src/utils/api/{content-api/schemas/helpers => schemas}/socials.ts (100%) rename packages/starlight-ghostcms/src/utils/api/{content-api/schemas/tags => schemas}/tags.ts (100%) rename packages/starlight-ghostcms/src/utils/api/{content-api/schemas/tiers => schemas}/tiers.ts (100%) diff --git a/.changeset/heavy-maps-act.md b/.changeset/heavy-maps-act.md new file mode 100644 index 00000000..51b68206 --- /dev/null +++ b/.changeset/heavy-maps-act.md @@ -0,0 +1,5 @@ +--- +"@matthiesenxyz/create-astro-ghostcms": minor +--- + +Bumb all templates to new `astro-ghostcms` version v3.3 diff --git a/.changeset/quiet-teachers-knock.md b/.changeset/quiet-teachers-knock.md new file mode 100644 index 00000000..9d4b6fae --- /dev/null +++ b/.changeset/quiet-teachers-knock.md @@ -0,0 +1,5 @@ +--- +"@matthiesenxyz/starlight-ghostcms": minor +--- + +Bumb GhostCMS API, No user facing breaking changes. diff --git a/packages/create-astro-ghostcms/src/templates/basic/package.json b/packages/create-astro-ghostcms/src/templates/basic/package.json index 9882e8fb..155d14f8 100644 --- a/packages/create-astro-ghostcms/src/templates/basic/package.json +++ b/packages/create-astro-ghostcms/src/templates/basic/package.json @@ -10,9 +10,9 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.2.8", - "@matthiesenxyz/astro-ghostcms": "^3.1.5", - "@matthiesenxyz/astro-ghostcms-theme-default": "^0.1.5" + "astro": "^4.4.0", + "@matthiesenxyz/astro-ghostcms": "^3.3.0", + "@matthiesenxyz/astro-ghostcms-theme-default": "^0.1.13" }, "devDependencies": { "@astrojs/check": "^0.4.1", diff --git a/packages/create-astro-ghostcms/src/templates/brutal/astro.config.mjs b/packages/create-astro-ghostcms/src/templates/brutal/astro.config.mjs index a96a01f0..f82f45a0 100644 --- a/packages/create-astro-ghostcms/src/templates/brutal/astro.config.mjs +++ b/packages/create-astro-ghostcms/src/templates/brutal/astro.config.mjs @@ -1,4 +1,4 @@ -import ghostcms from "@matthiesenxyz/astro-ghostcms"; +import astroGhostCMS from "@matthiesenxyz/astro-ghostcms"; import { defineConfig } from "astro/config"; import UnoCSS from "unocss/astro"; @@ -8,9 +8,11 @@ export default defineConfig({ trailingSlash: "ignore", integrations: [ UnoCSS({ injectReset: true }), - ghostcms({ - theme: "@matthiesenxyz/astro-ghostcms-brutalbyelian", + astroGhostCMS({ ghostURL: "https://ghostdemo.matthiesen.xyz", + ThemeProvider: { + theme: "@matthiesenxyz/astro-ghostcms-brutal", + }, }), ], }); diff --git a/packages/create-astro-ghostcms/src/templates/brutal/package.json b/packages/create-astro-ghostcms/src/templates/brutal/package.json index 3f35d750..f23c6966 100644 --- a/packages/create-astro-ghostcms/src/templates/brutal/package.json +++ b/packages/create-astro-ghostcms/src/templates/brutal/package.json @@ -10,9 +10,9 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.3.2", - "@matthiesenxyz/astro-ghostcms": "^3.2.2", - "@matthiesenxyz/astro-ghostcms-brutalbyelian": "^0.0.5", + "astro": "^4.4.0", + "@matthiesenxyz/astro-ghostcms": "^3.3.0", + "@matthiesenxyz/astro-ghostcms-brutalbyelian": "^0.0.11", "@unocss/astro": "^0.57.7" }, "devDependencies": { diff --git a/packages/create-astro-ghostcms/src/templates/catppuccin/astro.config.mjs b/packages/create-astro-ghostcms/src/templates/catppuccin/astro.config.mjs index ebb71227..720c7e04 100644 --- a/packages/create-astro-ghostcms/src/templates/catppuccin/astro.config.mjs +++ b/packages/create-astro-ghostcms/src/templates/catppuccin/astro.config.mjs @@ -1,5 +1,5 @@ import tailwind from "@astrojs/tailwind"; -import ghostcms from "@matthiesenxyz/astro-ghostcms"; +import astroGhostCMS from "@matthiesenxyz/astro-ghostcms"; import { defineConfig } from "astro/config"; // https://astro.build/config @@ -7,9 +7,11 @@ export default defineConfig({ site: "https://example.xyz/", integrations: [ tailwind(), - ghostcms({ - theme: "@matthiesenxyz/astro-ghostcms-catppuccin", + astroGhostCMS({ ghostURL: "https://ghostdemo.matthiesen.xyz", + ThemeProvider: { + theme: "@matthiesenxyz/astro-ghostcms-catppuccin", + }, }), ], }); diff --git a/packages/create-astro-ghostcms/src/templates/catppuccin/package.json b/packages/create-astro-ghostcms/src/templates/catppuccin/package.json index a4d190a7..622d693c 100644 --- a/packages/create-astro-ghostcms/src/templates/catppuccin/package.json +++ b/packages/create-astro-ghostcms/src/templates/catppuccin/package.json @@ -10,9 +10,9 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.2.8", - "@matthiesenxyz/astro-ghostcms": "^3.1.8", - "@matthiesenxyz/astro-ghostcms-catppuccin": "^0.0.3", + "astro": "^4.4.0", + "@matthiesenxyz/astro-ghostcms": "^3.3.0", + "@matthiesenxyz/astro-ghostcms-catppuccin": "^0.0.8", "@astrojs/tailwind": "^5.1.0", "tailwindcss": "^3.3.5" }, diff --git a/packages/create-astro-ghostcms/src/templates/starterkit/astro.config.mjs b/packages/create-astro-ghostcms/src/templates/starterkit/astro.config.mjs index 49d63c42..3c99e570 100644 --- a/packages/create-astro-ghostcms/src/templates/starterkit/astro.config.mjs +++ b/packages/create-astro-ghostcms/src/templates/starterkit/astro.config.mjs @@ -9,10 +9,13 @@ export default defineConfig({ // Includes GhostCMS API, @astrojs/rss, @astrojs/sitemap, and astro-robots-txt GhostCMS({ ghostURL: "https://ghostdemo.matthiesen.xyz", - // This Option Disables all default theme injection and allows DIY mode. - disableRouteInjection: true, - // Enable this to disable the extra console logs - disableConsoleOutput: false, + ThemeProvider: { + disableThemeProvider: true, + }, + disableDefault404: true, + enableRSSFeed: false, + enableOGImages: false, + verbose: false, }), ], }); diff --git a/packages/create-astro-ghostcms/src/templates/starterkit/package.json b/packages/create-astro-ghostcms/src/templates/starterkit/package.json index 7684d5b8..382cb805 100644 --- a/packages/create-astro-ghostcms/src/templates/starterkit/package.json +++ b/packages/create-astro-ghostcms/src/templates/starterkit/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "@astrojs/check": "^0.4.1", - "@matthiesenxyz/astro-ghostcms": "^3.1.4", - "astro": "^4.2.8", + "@matthiesenxyz/astro-ghostcms": "^3.3.0", + "astro": "^4.4.0", "typescript": "^5.3.3", "astro-font": "^0.0.77" }, diff --git a/packages/starlight-ghostcms/package.json b/packages/starlight-ghostcms/package.json index 716f8eb5..58820694 100644 --- a/packages/starlight-ghostcms/package.json +++ b/packages/starlight-ghostcms/package.json @@ -60,19 +60,19 @@ }, "devDependencies": { "@astrojs/starlight": "^0.19.0", - "@ts-ghost/tsconfig": "workspace:*", "astro": "^4.4.0", - "vitest": "^1.2.2", + "vitest": "^1.3.1", "vitest-fetch-mock": "^0.2.2" }, "dependencies": { "@astrojs/rss": "^4.0.5", - "@ts-ghost/core-api": "5.1.2", - "vite": "^5.1.2", - "vite-tsconfig-paths": "^4.2.2" + "@ts-ghost/core-api": "^6.0.0", + "@ts-ghost/content-api": "^4.0.12", + "vite": "^5.1.5", + "vite-tsconfig-paths": "^4.3.1" }, "peerDependencies": { "@astrojs/starlight": ">=0.19.0", - "astro": ">=4.3.7" + "astro": ">=4.4.0" } } diff --git a/packages/starlight-ghostcms/src/overrides/Sidebar.astro b/packages/starlight-ghostcms/src/overrides/Sidebar.astro index a75b80b9..5319d41a 100644 --- a/packages/starlight-ghostcms/src/overrides/Sidebar.astro +++ b/packages/starlight-ghostcms/src/overrides/Sidebar.astro @@ -3,7 +3,7 @@ import StarlightSidebar from '@astrojs/starlight/components/Sidebar.astro' import type { Props } from '@astrojs/starlight/props' import config from 'virtual:starlight-ghost-config' import { isBlogPostPage, isBlogRoot } from '../utils/page' -import { getAllPages, getAllPosts, getSluggedPage } from '../utils/api/api-functions.js' +import { getAllPages, getAllPosts, getSluggedPage } from '../utils/api' import type { SidebarEntry } from './sidebartypes' export async function getRecentBlogEntries(){ diff --git a/packages/starlight-ghostcms/src/routes/authors.astro b/packages/starlight-ghostcms/src/routes/authors.astro index 0d965af0..f446ef52 100644 --- a/packages/starlight-ghostcms/src/routes/authors.astro +++ b/packages/starlight-ghostcms/src/routes/authors.astro @@ -2,7 +2,7 @@ import config from 'virtual:starlight-ghost-config' import Page from '../components/Page.astro' //import PrevNextLinks from '../components/PrevNextLinks.astro' -import { getAllAuthors } from '../utils/api/api-functions' +import { getAllAuthors } from '../utils/api' import { getPageProps } from '../utils/page' import AdvancedAuthorCard from '../components/AdvancedAuthorCard.astro'; diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/content-api.ts b/packages/starlight-ghostcms/src/utils/api/content-api/content-api.ts deleted file mode 100644 index 6035e96a..00000000 --- a/packages/starlight-ghostcms/src/utils/api/content-api/content-api.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { - APIComposer, - BasicFetcher, - HTTPClient, - contentAPICredentialsSchema, - slugOrIdSchema, -} from "@ts-ghost/core-api"; - -import { - authorsIncludeSchema, - authorsSchema, - pagesIncludeSchema, - pagesSchema, - postsIncludeSchema, - postsSchema, - settingsSchema, - tagsIncludeSchema, - tagsSchema, - tiersIncludeSchema, - tiersSchema, -} from "./schemas"; - -export type { ContentAPICredentials, APIVersions } from "@ts-ghost/core-api"; - -export enum BrowseEndpointType { - authors = "authors", - tiers = "tiers", - posts = "posts", - pages = "pages", - tags = "tags", - settings = "settings", -} - -export default class TS_API { - private httpClient: HTTPClient; - - constructor( - protected readonly url: string, - protected readonly key: string, - protected readonly version: Version, - ) { - const apiCredentials = contentAPICredentialsSchema.parse({ - key, - version, - url, - }); - this.httpClient = new HTTPClient({ - ...apiCredentials, - endpoint: "content", - }); - } - - get authors() { - return new APIComposer( - "authors", - { - schema: authorsSchema, - identitySchema: slugOrIdSchema, - include: authorsIncludeSchema, - }, - this.httpClient, - ).access(["read", "browse"]); - } - get tiers() { - return new APIComposer( - "tiers", - { - schema: tiersSchema, - identitySchema: slugOrIdSchema, - include: tiersIncludeSchema, - }, - this.httpClient, - ).access(["browse", "read"]); - } - get posts() { - return new APIComposer( - "posts", - { - schema: postsSchema, - identitySchema: slugOrIdSchema, - include: postsIncludeSchema, - }, - this.httpClient, - ).access(["browse", "read"]); - } - get pages() { - return new APIComposer( - "pages", - { - schema: pagesSchema, - identitySchema: slugOrIdSchema, - include: pagesIncludeSchema, - }, - this.httpClient, - ).access(["browse", "read"]); - } - get tags() { - return new APIComposer( - "tags", - { - schema: tagsSchema, - identitySchema: slugOrIdSchema, - include: tagsIncludeSchema, - }, - this.httpClient, - ).access(["browse", "read"]); - } - - get settings() { - return new BasicFetcher( - "settings", - { output: settingsSchema }, - this.httpClient, - ); - } -} diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/index.ts b/packages/starlight-ghostcms/src/utils/api/content-api/index.ts deleted file mode 100644 index fb09f087..00000000 --- a/packages/starlight-ghostcms/src/utils/api/content-api/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export { default as TS_API } from "./content-api"; -export * from "./schemas"; - -export type { - InferFetcherDataShape, - InferResponseDataShape, - BrowseParams, -} from "@ts-ghost/core-api"; diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/authors/index.ts b/packages/starlight-ghostcms/src/utils/api/content-api/schemas/authors/index.ts deleted file mode 100644 index f9adb07f..00000000 --- a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/authors/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./authors"; diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/helpers/index.ts b/packages/starlight-ghostcms/src/utils/api/content-api/schemas/helpers/index.ts deleted file mode 100644 index f4fb9f52..00000000 --- a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/helpers/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./socials"; diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/pages/index.ts b/packages/starlight-ghostcms/src/utils/api/content-api/schemas/pages/index.ts deleted file mode 100644 index c4e34b27..00000000 --- a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/pages/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./pages"; diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/posts/index.ts b/packages/starlight-ghostcms/src/utils/api/content-api/schemas/posts/index.ts deleted file mode 100644 index 4f89127a..00000000 --- a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/posts/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./posts"; diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/settings/index.ts b/packages/starlight-ghostcms/src/utils/api/content-api/schemas/settings/index.ts deleted file mode 100644 index dcf101b0..00000000 --- a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/settings/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./settings"; diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/tags/index.ts b/packages/starlight-ghostcms/src/utils/api/content-api/schemas/tags/index.ts deleted file mode 100644 index 006f4bf5..00000000 --- a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/tags/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./tags"; diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/tiers/index.ts b/packages/starlight-ghostcms/src/utils/api/content-api/schemas/tiers/index.ts deleted file mode 100644 index aec8c265..00000000 --- a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/tiers/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./tiers"; diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/content-api.test.ts b/packages/starlight-ghostcms/src/utils/api/ghostAPI.test.ts similarity index 82% rename from packages/starlight-ghostcms/src/utils/api/content-api/content-api.test.ts rename to packages/starlight-ghostcms/src/utils/api/ghostAPI.test.ts index e47ec835..a7b190f8 100644 --- a/packages/starlight-ghostcms/src/utils/api/content-api/content-api.test.ts +++ b/packages/starlight-ghostcms/src/utils/api/ghostAPI.test.ts @@ -1,11 +1,15 @@ import { assert, beforeEach, describe, expect, test } from "vitest"; -import TS_API from "./content-api"; +import { TSGhostContentAPI } from "@ts-ghost/content-api"; describe("content-api", () => { - let api: TS_API; + let api: TSGhostContentAPI; beforeEach(() => { - api = new TS_API("https://ghost.org", "59d4bf56c73c04a18c867dc3ba", "v5.0"); + api = new TSGhostContentAPI( + "https://ghost.org", + "59d4bf56c73c04a18c867dc3ba", + "v5.0", + ); }); test("content-api", () => { @@ -14,21 +18,25 @@ describe("content-api", () => { test("content-api shouldn't instantiate with an incorrect url", () => { assert.throws(() => { - const api = new TS_API("ghost.org", "59d4bf56c73c04a18c867dc3ba", "v5.0"); + const api = new TSGhostContentAPI( + "ghost.org", + "59d4bf56c73c04a18c867dc3ba", + "v5.0", + ); api.settings; }); }); test("content-api shouldn't instantiate with an incorrect key", () => { assert.throws(() => { - const api = new TS_API("https://ghost.org", "a", "v5.0"); + const api = new TSGhostContentAPI("https://ghost.org", "a", "v5.0"); api.settings; }); }); test("content-api shouldn't instantiate with an incorrect version", () => { assert.throws(() => { - const api = new TS_API( + const api = new TSGhostContentAPI( "https://ghost.org", "1efedd9db174adee2d23d982:4b74dca0219bad629852191af326a45037346c2231240e0f7aec1f9371cc14e8", // @ts-expect-error diff --git a/packages/starlight-ghostcms/src/utils/api/api-functions.ts b/packages/starlight-ghostcms/src/utils/api/ghostAPI.ts similarity index 72% rename from packages/starlight-ghostcms/src/utils/api/api-functions.ts rename to packages/starlight-ghostcms/src/utils/api/ghostAPI.ts index a784ebec..784f2f6a 100644 --- a/packages/starlight-ghostcms/src/utils/api/api-functions.ts +++ b/packages/starlight-ghostcms/src/utils/api/ghostAPI.ts @@ -1,9 +1,8 @@ +import { TSGhostContentAPI } from "@ts-ghost/content-api"; +import type { Page, Post } from "./schemas"; + // LOAD ENVIRONMENT VARIABLES import { loadEnv } from "vite"; -import { TS_API } from "./content-api"; -import type { ContentAPICredentials } from "./content-api/content-api"; -import type { Page, Post } from "./content-api/schemas"; -import { invariant } from "./invariant.js"; const { CONTENT_API_KEY, CONTENT_API_URL } = loadEnv( "all", @@ -11,13 +10,11 @@ const { CONTENT_API_KEY, CONTENT_API_URL } = loadEnv( "CONTENT_", ); -invariant(CONTENT_API_KEY, "CONTENT_API_KEY Missing from .env"); -invariant(CONTENT_API_URL, "CONTENT_API_URL Missing from .env"); - -const key: ContentAPICredentials["key"] = CONTENT_API_KEY; -const url: ContentAPICredentials["url"] = CONTENT_API_URL; +// SETUP GHOST API +const ghostApiKey = CONTENT_API_KEY || ""; +const ghostUrl = CONTENT_API_URL || ""; const version = "v5.0"; -const api = new TS_API(url, key, version); +const api = new TSGhostContentAPI(ghostUrl, ghostApiKey, version); export const getAllAuthors = async () => { const results = await api.authors @@ -67,21 +64,20 @@ export const getAllPosts = async () => { return posts; }; -export const getSluggedPost = async (slug: string) => { +export const getSluggedPost = async (slug:string) => { const results = await api.posts - .read({ slug: slug }) + .read({slug: slug}) .include({ authors: true, tags: true, - }) - .fetch(); - - if (!results.success) { - throw new Error(results.errors.map((e) => e.message).join(", ")); - } - return { - post: results.data, - }; + }).fetch() + + if (!results.success) { + throw new Error(results.errors.map((e) => e.message).join(", ")); + } + return { + post: results.data, + }; }; export const getAllPages = async () => { @@ -101,21 +97,20 @@ export const getAllPages = async () => { return pages; }; -export const getSluggedPage = async (slug: string) => { +export const getSluggedPage = async (slug:string) => { const results = await api.pages - .read({ slug: slug }) + .read({slug: slug}) .include({ authors: true, tags: true, - }) - .fetch(); - - if (!results.success) { - throw new Error(results.errors.map((e) => e.message).join(", ")); - } - return { - post: results.data, - }; + }).fetch() + + if (!results.success) { + throw new Error(results.errors.map((e) => e.message).join(", ")); + } + return { + post: results.data, + }; }; export const getSettings = async () => { diff --git a/packages/starlight-ghostcms/src/utils/api/index.ts b/packages/starlight-ghostcms/src/utils/api/index.ts index 91557560..70fcf4bd 100644 --- a/packages/starlight-ghostcms/src/utils/api/index.ts +++ b/packages/starlight-ghostcms/src/utils/api/index.ts @@ -1,3 +1,3 @@ -export * from "./api-functions"; -export * from "./content-api/schemas"; +export * from "./ghostAPI"; +export * from "./schemas"; export * from "./invariant"; diff --git a/packages/starlight-ghostcms/src/utils/api/invariant.ts b/packages/starlight-ghostcms/src/utils/api/invariant.ts index 787f7935..8d37a1ba 100644 --- a/packages/starlight-ghostcms/src/utils/api/invariant.ts +++ b/packages/starlight-ghostcms/src/utils/api/invariant.ts @@ -20,7 +20,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -const tinyinvariant = "merged"; const isProduction: boolean = process.env.NODE_ENV === "production"; const prefix: string = "Invariant failed"; diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/authors/authors.test.ts b/packages/starlight-ghostcms/src/utils/api/schemas/authors.test.ts similarity index 95% rename from packages/starlight-ghostcms/src/utils/api/content-api/schemas/authors/authors.test.ts rename to packages/starlight-ghostcms/src/utils/api/schemas/authors.test.ts index 1d24851f..7cd4b54e 100644 --- a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/authors/authors.test.ts +++ b/packages/starlight-ghostcms/src/utils/api/schemas/authors.test.ts @@ -1,7 +1,7 @@ import { afterEach, beforeEach, describe, expect, test, vi } from "vitest"; import createFetchMock from "vitest-fetch-mock"; -import TS_API from "../../content-api"; +import { TSGhostContentAPI } from "@ts-ghost/content-api"; const fetchMocker = createFetchMock(vi); @@ -9,7 +9,7 @@ describe("authors api .browse() Args Type-safety", () => { const url = process.env.VITE_GHOST_URL || "https://my-ghost-blog.com"; const key = process.env.VITE_GHOST_CONTENT_API_KEY || "59d4bf56c73c04a18c867dc3ba"; - const api = new TS_API(url, key, "v5.0"); + const api = new TSGhostContentAPI(url, key, "v5.0"); test(".browse() params shouldnt accept invalid params", () => { // @ts-expect-error - shouldnt accept invalid params const browse = api.authors.browse({ pp: 2 }); @@ -95,10 +95,10 @@ describe("authors api .browse() Args Type-safety", () => { }); describe("authors resource mocked", () => { - let api: TS_API; + let api: TSGhostContentAPI; beforeEach(() => { - api = new TS_API( + api = new TSGhostContentAPI( "https://my-ghost-blog.com", "59d4bf56c73c04a18c867dc3ba", "v5.0", diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/authors/authors.ts b/packages/starlight-ghostcms/src/utils/api/schemas/authors.ts similarity index 100% rename from packages/starlight-ghostcms/src/utils/api/content-api/schemas/authors/authors.ts rename to packages/starlight-ghostcms/src/utils/api/schemas/authors.ts diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/index.ts b/packages/starlight-ghostcms/src/utils/api/schemas/index.ts similarity index 85% rename from packages/starlight-ghostcms/src/utils/api/content-api/schemas/index.ts rename to packages/starlight-ghostcms/src/utils/api/schemas/index.ts index 88bfc1b9..43c252a2 100644 --- a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/index.ts +++ b/packages/starlight-ghostcms/src/utils/api/schemas/index.ts @@ -1,7 +1,7 @@ export * from "./authors"; -export * from "./helpers"; export * from "./pages"; export * from "./posts"; export * from "./settings"; +export * from "./socials"; export * from "./tags"; export * from "./tiers"; diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/pages/pages.ts b/packages/starlight-ghostcms/src/utils/api/schemas/pages.ts similarity index 94% rename from packages/starlight-ghostcms/src/utils/api/content-api/schemas/pages/pages.ts rename to packages/starlight-ghostcms/src/utils/api/schemas/pages.ts index 2fcd9655..c688d91f 100644 --- a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/pages/pages.ts +++ b/packages/starlight-ghostcms/src/utils/api/schemas/pages.ts @@ -7,8 +7,8 @@ import { } from "@ts-ghost/core-api"; import { z } from "astro/zod"; -import { authorsSchema } from "../authors"; -import { tagsSchema } from "../tags"; +import { authorsSchema } from "./authors"; +import { tagsSchema } from "./tags"; const postsAuthorSchema = authorsSchema.extend({ url: z.string().nullish(), diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/posts/posts.test.ts b/packages/starlight-ghostcms/src/utils/api/schemas/posts.test.ts similarity index 87% rename from packages/starlight-ghostcms/src/utils/api/content-api/schemas/posts/posts.test.ts rename to packages/starlight-ghostcms/src/utils/api/schemas/posts.test.ts index b2dfbbe3..35427607 100644 --- a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/posts/posts.test.ts +++ b/packages/starlight-ghostcms/src/utils/api/schemas/posts.test.ts @@ -1,14 +1,14 @@ import { describe, expect, test } from "vitest"; -import TS_API from "../../content-api"; -import type { Post } from "./posts"; +import { TSGhostContentAPI } from "@ts-ghost/content-api"; +import type { Post } from "./index"; const url = process.env.VITE_GHOST_URL || "https://my-ghost-blog.com"; const key = process.env.VITE_GHOST_CONTENT_API_KEY || "59d4bf56c73c04a18c867dc3ba"; describe("posts api .browse() Args Type-safety", () => { - const api = new TS_API(url, key, "v5.0"); + const api = new TSGhostContentAPI(url, key, "v5.0"); test(".browse() params shouldnt accept invalid params", () => { // @ts-expect-error - shouldnt accept invalid params const browse = api.posts.browse({ pp: 2 }); @@ -21,8 +21,7 @@ describe("posts api .browse() Args Type-safety", () => { foo: true, } satisfies { [k in keyof Post]?: true | undefined }; - // biome-ignore lint/style/useConst: - let test = api.posts + const test = api.posts .browse() // @ts-expect-error - shouldnt accept invalid params .fields(outputFields); @@ -45,8 +44,7 @@ describe("posts api .browse() Args Type-safety", () => { title: true, } satisfies { [k in keyof Post]?: true | undefined }; - // biome-ignore lint/style/useConst: - let test = api.posts.browse().fields(outputFields); + const test = api.posts.browse().fields(outputFields); expect(test.getOutputFields()).toEqual(["slug", "title"]); // @ts-expect-error - shouldnt accept invalid params diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/posts/posts.ts b/packages/starlight-ghostcms/src/utils/api/schemas/posts.ts similarity index 95% rename from packages/starlight-ghostcms/src/utils/api/content-api/schemas/posts/posts.ts rename to packages/starlight-ghostcms/src/utils/api/schemas/posts.ts index b479ee17..cb514ed8 100644 --- a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/posts/posts.ts +++ b/packages/starlight-ghostcms/src/utils/api/schemas/posts.ts @@ -7,8 +7,8 @@ import { } from "@ts-ghost/core-api"; import { z } from "astro/zod"; -import { authorsSchema } from "../authors"; -import { tagsSchema } from "../tags"; +import { authorsSchema } from "./authors"; +import { tagsSchema } from "./tags"; const postsAuthorSchema = authorsSchema.extend({ url: z.string().nullish(), diff --git a/packages/starlight-ghostcms/src/utils/api/schemas/settings.test.ts b/packages/starlight-ghostcms/src/utils/api/schemas/settings.test.ts new file mode 100644 index 00000000..02d9f403 --- /dev/null +++ b/packages/starlight-ghostcms/src/utils/api/schemas/settings.test.ts @@ -0,0 +1,39 @@ +import { beforeEach, describe, expect, test } from "vitest"; + +import { TSGhostContentAPI } from "@ts-ghost/content-api"; + +const url = process.env.VITE_GHOST_URL || "https://my-ghost-blog.com"; +const key = + process.env.VITE_GHOST_CONTENT_API_KEY || "59d4bf56c73c04a18c867dc3ba"; + +describe("settings integration tests browse", () => { + let api: TSGhostContentAPI; + beforeEach(() => { + api = new TSGhostContentAPI(url, key, "v5.0"); + }); + test("settings.fetch()", async () => { + const result = await api.settings.fetch(); + expect(result).not.toBeUndefined(); + expect(result).not.toBeNull(); + if (!result.success) { + expect(result.errors).toBeDefined(); + expect(result.errors).toHaveLength(1); + } else { + expect(result.data).toBeDefined(); + const settings = result.data; + expect(settings).toBeDefined(); + expect(settings.title).toBe("Astro Starter"); + expect(settings.description).toBe("Thoughts, stories and ideas."); + expect(settings.logo).toBeNull(); + expect(settings.cover_image).toBe( + "https://static.ghost.org/v4.0.0/images/publication-cover.jpg", + ); + expect(settings.icon).toBeNull(); + expect(settings.lang).toBe("en"); + expect(settings.timezone).toBe("Etc/UTC"); + expect(settings.codeinjection_head).toBeNull(); + expect(settings.codeinjection_foot).toBeNull(); + expect(settings.members_support_address).toBe("noreply"); + } + }); +}); diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/settings/settings.ts b/packages/starlight-ghostcms/src/utils/api/schemas/settings.ts similarity index 100% rename from packages/starlight-ghostcms/src/utils/api/content-api/schemas/settings/settings.ts rename to packages/starlight-ghostcms/src/utils/api/schemas/settings.ts diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/helpers/socials.ts b/packages/starlight-ghostcms/src/utils/api/schemas/socials.ts similarity index 100% rename from packages/starlight-ghostcms/src/utils/api/content-api/schemas/helpers/socials.ts rename to packages/starlight-ghostcms/src/utils/api/schemas/socials.ts diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/tags/tags.ts b/packages/starlight-ghostcms/src/utils/api/schemas/tags.ts similarity index 100% rename from packages/starlight-ghostcms/src/utils/api/content-api/schemas/tags/tags.ts rename to packages/starlight-ghostcms/src/utils/api/schemas/tags.ts diff --git a/packages/starlight-ghostcms/src/utils/api/content-api/schemas/tiers/tiers.ts b/packages/starlight-ghostcms/src/utils/api/schemas/tiers.ts similarity index 100% rename from packages/starlight-ghostcms/src/utils/api/content-api/schemas/tiers/tiers.ts rename to packages/starlight-ghostcms/src/utils/api/schemas/tiers.ts diff --git a/playgrounds/astro-playground/astro.config.mjs b/playgrounds/astro-playground/astro.config.mjs index a24919e3..8a95f1f6 100644 --- a/playgrounds/astro-playground/astro.config.mjs +++ b/playgrounds/astro-playground/astro.config.mjs @@ -10,11 +10,11 @@ export default defineConfig({ //tailwind(), UnoCSS({ injectReset: true }), ghostcms({ - ghostURL: "https://ghostdemo.matthiesen.xyz", + ghostURL: 'https://ghostdemo.matthiesen.xyz', ThemeProvider: { theme: "@matthiesenxyz/astro-ghostcms-brutalbyelian", }, - verbose: false, + verbose: true, }), ], }); diff --git a/playgrounds/astro-playground/package.json b/playgrounds/astro-playground/package.json index 533aece7..462cb878 100644 --- a/playgrounds/astro-playground/package.json +++ b/playgrounds/astro-playground/package.json @@ -13,6 +13,7 @@ "dependencies": { "astro": "^4.4.0", "@matthiesenxyz/astro-ghostcms": "workspace:*", + "@matthiesenxyz/astro-ghostcms-theme-default": "workspace:*", "@matthiesenxyz/astro-ghostcms-brutalbyelian": "workspace:*", "@astrojs/tailwind": "^5.1.0", "@unocss/astro": "^0.58.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1093d096..3a119f2f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -104,7 +104,7 @@ importers: version: link:../astro-ghostcms-rendercontent '@unocss/astro': specifier: ^0.58.5 - version: 0.58.5(vite@5.1.4) + version: 0.58.5(vite@5.1.5) '@unocss/reset': specifier: ^0.58.5 version: 0.58.5 @@ -122,7 +122,7 @@ importers: version: 1.5.2 unocss: specifier: ^0.58.5 - version: 0.58.5(postcss@8.4.35)(vite@5.1.4) + version: 0.58.5(postcss@8.4.35)(vite@5.1.5) devDependencies: '@typescript-eslint/parser': specifier: ^7.0.1 @@ -247,31 +247,31 @@ importers: '@astrojs/rss': specifier: ^4.0.5 version: 4.0.5 + '@ts-ghost/content-api': + specifier: ^4.0.12 + version: 4.0.12 '@ts-ghost/core-api': - specifier: 5.1.2 - version: 5.1.2 + specifier: ^6.0.0 + version: 6.0.0 vite: - specifier: ^5.1.2 - version: 5.1.3 + specifier: ^5.1.5 + version: 5.1.5(@types/node@20.11.24) vite-tsconfig-paths: - specifier: ^4.2.2 - version: 4.3.1(vite@5.1.3) + specifier: ^4.3.1 + version: 4.3.1(vite@5.1.5) devDependencies: '@astrojs/starlight': specifier: ^0.19.0 version: 0.19.0(astro@4.4.0) - '@ts-ghost/tsconfig': - specifier: workspace:* - version: link:../tsconfig astro: specifier: ^4.4.0 version: 4.4.0(typescript@5.3.3) vitest: - specifier: ^1.2.2 - version: 1.2.2(@vitest/ui@1.3.1) + 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.2.2) + version: 0.2.2(vitest@1.3.1) packages/tsconfig: {} @@ -286,9 +286,12 @@ importers: '@matthiesenxyz/astro-ghostcms-brutalbyelian': specifier: workspace:* version: link:../../packages/astro-ghostcms-brutalbyelian + '@matthiesenxyz/astro-ghostcms-theme-default': + specifier: workspace:* + version: link:../../packages/astro-ghostcms-theme-default '@unocss/astro': specifier: ^0.58.5 - version: 0.58.5(vite@5.1.4) + version: 0.58.5(vite@5.1.5) astro: specifier: ^4.4.0 version: 4.4.0(typescript@5.3.3) @@ -304,7 +307,7 @@ importers: version: 5.3.3 unocss: specifier: ^0.58.5 - version: 0.58.5(postcss@8.4.35)(vite@5.1.4) + version: 0.58.5(postcss@8.4.35)(vite@5.1.5) playgrounds/starlight-playground: dependencies: @@ -1891,13 +1894,6 @@ packages: zod: 3.22.4 dev: false - /@ts-ghost/core-api@5.1.2: - resolution: {integrity: sha512-YqLLGAJ8GxHx3GvotnZxmkDuT9ZjJo4DVLl30n5aXr/+1Y3O6PpNpwAa1ws67cshx0rbFmTAGN76goKbVfLDTg==} - dependencies: - jose: 5.2.2 - zod: 3.22.4 - dev: false - /@ts-ghost/core-api@6.0.0: resolution: {integrity: sha512-5Q7nbrmAoJ/5PcW2lPgCVyAJloVaQqybHpzXuFRbKj5sYWNeJbcwSrnYOBw/3t1tA2ghPrNVXqWOGrGKqZl1Zg==} dependencies: @@ -2134,7 +2130,7 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@unocss/astro@0.58.5(vite@5.1.4): + /@unocss/astro@0.58.5(vite@5.1.5): resolution: {integrity: sha512-LtuVnj8oFAK9663OVhQO8KpdJFiOyyPsYfnOZlDCOFK3gHb/2WMrzdBwr1w8LoQF3bDedkFMKirVF7gWjyZiaw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -2144,8 +2140,8 @@ packages: dependencies: '@unocss/core': 0.58.5 '@unocss/reset': 0.58.5 - '@unocss/vite': 0.58.5(vite@5.1.4) - vite: 5.1.4(sass@1.71.0) + '@unocss/vite': 0.58.5(vite@5.1.5) + vite: 5.1.5(@types/node@20.11.24) transitivePeerDependencies: - rollup @@ -2305,7 +2301,7 @@ packages: dependencies: '@unocss/core': 0.58.5 - /@unocss/vite@0.58.5(vite@5.1.4): + /@unocss/vite@0.58.5(vite@5.1.5): resolution: {integrity: sha512-p4o1XNX1rvjmoUqSSdua8XyWNg/d+YUChDd2L/xEty+6j2qv0wUaohs3UQ87vWlv632/UmgdX+2MbrgtqthCtw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -2320,18 +2316,10 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.7 - vite: 5.1.4(sass@1.71.0) + vite: 5.1.5(@types/node@20.11.24) transitivePeerDependencies: - rollup - /@vitest/expect@1.2.2: - resolution: {integrity: sha512-3jpcdPAD7LwHUUiT2pZTj2U82I2Tcgg2oVPvKxhn6mDI2On6tfvPQTjAI4628GUGDZrCm4Zna9iQHm5cEexOAg==} - dependencies: - '@vitest/spy': 1.2.2 - '@vitest/utils': 1.2.2 - chai: 4.4.1 - dev: true - /@vitest/expect@1.3.1: resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} dependencies: @@ -2340,14 +2328,6 @@ packages: chai: 4.4.1 dev: true - /@vitest/runner@1.2.2: - resolution: {integrity: sha512-JctG7QZ4LSDXr5CsUweFgcpEvrcxOV1Gft7uHrvkQ+fsAVylmWQvnaAr/HDp3LAH1fztGMQZugIheTWjaGzYIg==} - dependencies: - '@vitest/utils': 1.2.2 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - /@vitest/runner@1.3.1: resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} dependencies: @@ -2356,14 +2336,6 @@ packages: pathe: 1.1.2 dev: true - /@vitest/snapshot@1.2.2: - resolution: {integrity: sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==} - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - /@vitest/snapshot@1.3.1: resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} dependencies: @@ -2372,12 +2344,6 @@ packages: pretty-format: 29.7.0 dev: true - /@vitest/spy@1.2.2: - resolution: {integrity: sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==} - dependencies: - tinyspy: 2.2.1 - dev: true - /@vitest/spy@1.3.1: resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} dependencies: @@ -2399,15 +2365,6 @@ packages: vitest: 1.3.1(@vitest/ui@1.3.1) dev: true - /@vitest/utils@1.2.2: - resolution: {integrity: sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==} - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - /@vitest/utils@1.3.1: resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} dependencies: @@ -7303,12 +7260,6 @@ packages: engines: {node: '>=8'} dev: true - /strip-literal@1.3.0: - resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} - dependencies: - acorn: 8.11.3 - dev: true - /strip-literal@2.0.0: resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} dependencies: @@ -7798,7 +7749,7 @@ packages: engines: {node: '>= 10.0.0'} dev: false - /unocss@0.58.5(postcss@8.4.35)(vite@5.1.4): + /unocss@0.58.5(postcss@8.4.35)(vite@5.1.5): resolution: {integrity: sha512-0g4P6jLgRRNnhscxw7nQ9RHGrKJ1UPPiHPet+YT3TXUcmy4mTiYgo9+kGQf5bjyrzsELJ10cT6Qz2y6g9Tls4g==} engines: {node: '>=14'} peerDependencies: @@ -7810,7 +7761,7 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.5(vite@5.1.4) + '@unocss/astro': 0.58.5(vite@5.1.5) '@unocss/cli': 0.58.5 '@unocss/core': 0.58.5 '@unocss/extractor-arbitrary-variants': 0.58.5 @@ -7829,8 +7780,8 @@ packages: '@unocss/transformer-compile-class': 0.58.5 '@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(sass@1.71.0) + '@unocss/vite': 0.58.5(vite@5.1.5) + vite: 5.1.5(@types/node@20.11.24) transitivePeerDependencies: - postcss - rollup @@ -7907,48 +7858,6 @@ packages: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - /vite-node@1.2.2: - resolution: {integrity: sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(sass@1.71.0) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite-node@1.3.1: - 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 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(sass@1.71.0) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: 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} @@ -7958,7 +7867,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.5(@types/node@20.11.24) transitivePeerDependencies: - '@types/node' - less @@ -7970,7 +7879,7 @@ packages: - terser dev: true - /vite-tsconfig-paths@4.3.1(vite@5.1.3): + /vite-tsconfig-paths@4.3.1(vite@5.1.5): resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==} peerDependencies: vite: '*' @@ -7981,47 +7890,12 @@ packages: debug: 4.3.4 globrex: 0.1.2 tsconfck: 3.0.2(typescript@5.3.3) - vite: 5.1.3 + vite: 5.1.5(@types/node@20.11.24) 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 - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - 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.24): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} @@ -8092,6 +7966,41 @@ packages: optionalDependencies: fsevents: 2.3.3 + /vite@5.1.5(@types/node@20.11.24): + resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.24 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.11.0 + optionalDependencies: + fsevents: 2.3.3 + /vitefu@0.2.5(vite@5.1.4): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: @@ -8102,18 +8011,6 @@ packages: dependencies: vite: 5.1.4(@types/node@20.11.24) - /vitest-fetch-mock@0.2.2(vitest@1.2.2): - resolution: {integrity: sha512-XmH6QgTSjCWrqXoPREIdbj40T7i1xnGmAsTAgfckoO75W1IEHKR8hcPCQ7SO16RsdW1t85oUm6pcQRLeBgjVYQ==} - engines: {node: '>=14.14.0'} - peerDependencies: - vitest: '>=0.16.0' - dependencies: - cross-fetch: 3.1.8 - vitest: 1.2.2(@vitest/ui@1.3.1) - transitivePeerDependencies: - - encoding - dev: true - /vitest-fetch-mock@0.2.2(vitest@1.3.1): resolution: {integrity: sha512-XmH6QgTSjCWrqXoPREIdbj40T7i1xnGmAsTAgfckoO75W1IEHKR8hcPCQ7SO16RsdW1t85oUm6pcQRLeBgjVYQ==} engines: {node: '>=14.14.0'} @@ -8126,63 +8023,6 @@ packages: - encoding dev: true - /vitest@1.2.2(@vitest/ui@1.3.1): - resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} - 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.0.0 - '@vitest/ui': ^1.0.0 - 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.2.2 - '@vitest/runner': 1.2.2 - '@vitest/snapshot': 1.2.2 - '@vitest/spy': 1.2.2 - '@vitest/ui': 1.3.1(vitest@1.3.1) - '@vitest/utils': 1.2.2 - acorn-walk: 8.3.2 - cac: 6.7.14 - 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: 1.3.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(sass@1.71.0) - vite-node: 1.2.2 - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /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} @@ -8284,7 +8124,7 @@ packages: tinybench: 2.6.0 tinypool: 0.8.2 vite: 5.1.4(sass@1.71.0) - vite-node: 1.3.1 + vite-node: 1.3.1(@types/node@20.11.24) why-is-node-running: 2.2.2 transitivePeerDependencies: - less