Updates to starlight-ghostcms and create-astro-ghostcms

This commit is contained in:
Adam Matthiesen 2024-03-05 19:00:22 -08:00
parent 9f6f137155
commit 9ec2a61782
39 changed files with 212 additions and 446 deletions

View File

@ -0,0 +1,5 @@
---
"@matthiesenxyz/create-astro-ghostcms": minor
---
Bumb all templates to new `astro-ghostcms` version v3.3

View File

@ -0,0 +1,5 @@
---
"@matthiesenxyz/starlight-ghostcms": minor
---
Bumb GhostCMS API, No user facing breaking changes.

View File

@ -10,9 +10,9 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^4.2.8", "astro": "^4.4.0",
"@matthiesenxyz/astro-ghostcms": "^3.1.5", "@matthiesenxyz/astro-ghostcms": "^3.3.0",
"@matthiesenxyz/astro-ghostcms-theme-default": "^0.1.5" "@matthiesenxyz/astro-ghostcms-theme-default": "^0.1.13"
}, },
"devDependencies": { "devDependencies": {
"@astrojs/check": "^0.4.1", "@astrojs/check": "^0.4.1",

View File

@ -1,4 +1,4 @@
import ghostcms from "@matthiesenxyz/astro-ghostcms"; import astroGhostCMS from "@matthiesenxyz/astro-ghostcms";
import { defineConfig } from "astro/config"; import { defineConfig } from "astro/config";
import UnoCSS from "unocss/astro"; import UnoCSS from "unocss/astro";
@ -8,9 +8,11 @@ export default defineConfig({
trailingSlash: "ignore", trailingSlash: "ignore",
integrations: [ integrations: [
UnoCSS({ injectReset: true }), UnoCSS({ injectReset: true }),
ghostcms({ astroGhostCMS({
theme: "@matthiesenxyz/astro-ghostcms-brutalbyelian",
ghostURL: "https://ghostdemo.matthiesen.xyz", ghostURL: "https://ghostdemo.matthiesen.xyz",
ThemeProvider: {
theme: "@matthiesenxyz/astro-ghostcms-brutal",
},
}), }),
], ],
}); });

View File

@ -10,9 +10,9 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^4.3.2", "astro": "^4.4.0",
"@matthiesenxyz/astro-ghostcms": "^3.2.2", "@matthiesenxyz/astro-ghostcms": "^3.3.0",
"@matthiesenxyz/astro-ghostcms-brutalbyelian": "^0.0.5", "@matthiesenxyz/astro-ghostcms-brutalbyelian": "^0.0.11",
"@unocss/astro": "^0.57.7" "@unocss/astro": "^0.57.7"
}, },
"devDependencies": { "devDependencies": {

View File

@ -1,5 +1,5 @@
import tailwind from "@astrojs/tailwind"; import tailwind from "@astrojs/tailwind";
import ghostcms from "@matthiesenxyz/astro-ghostcms"; import astroGhostCMS from "@matthiesenxyz/astro-ghostcms";
import { defineConfig } from "astro/config"; import { defineConfig } from "astro/config";
// https://astro.build/config // https://astro.build/config
@ -7,9 +7,11 @@ export default defineConfig({
site: "https://example.xyz/", site: "https://example.xyz/",
integrations: [ integrations: [
tailwind(), tailwind(),
ghostcms({ astroGhostCMS({
theme: "@matthiesenxyz/astro-ghostcms-catppuccin",
ghostURL: "https://ghostdemo.matthiesen.xyz", ghostURL: "https://ghostdemo.matthiesen.xyz",
ThemeProvider: {
theme: "@matthiesenxyz/astro-ghostcms-catppuccin",
},
}), }),
], ],
}); });

View File

@ -10,9 +10,9 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^4.2.8", "astro": "^4.4.0",
"@matthiesenxyz/astro-ghostcms": "^3.1.8", "@matthiesenxyz/astro-ghostcms": "^3.3.0",
"@matthiesenxyz/astro-ghostcms-catppuccin": "^0.0.3", "@matthiesenxyz/astro-ghostcms-catppuccin": "^0.0.8",
"@astrojs/tailwind": "^5.1.0", "@astrojs/tailwind": "^5.1.0",
"tailwindcss": "^3.3.5" "tailwindcss": "^3.3.5"
}, },

View File

@ -9,10 +9,13 @@ export default defineConfig({
// Includes GhostCMS API, @astrojs/rss, @astrojs/sitemap, and astro-robots-txt // Includes GhostCMS API, @astrojs/rss, @astrojs/sitemap, and astro-robots-txt
GhostCMS({ GhostCMS({
ghostURL: "https://ghostdemo.matthiesen.xyz", ghostURL: "https://ghostdemo.matthiesen.xyz",
// This Option Disables all default theme injection and allows DIY mode. ThemeProvider: {
disableRouteInjection: true, disableThemeProvider: true,
// Enable this to disable the extra console logs },
disableConsoleOutput: false, disableDefault404: true,
enableRSSFeed: false,
enableOGImages: false,
verbose: false,
}), }),
], ],
}); });

View File

@ -11,8 +11,8 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/check": "^0.4.1", "@astrojs/check": "^0.4.1",
"@matthiesenxyz/astro-ghostcms": "^3.1.4", "@matthiesenxyz/astro-ghostcms": "^3.3.0",
"astro": "^4.2.8", "astro": "^4.4.0",
"typescript": "^5.3.3", "typescript": "^5.3.3",
"astro-font": "^0.0.77" "astro-font": "^0.0.77"
}, },

View File

@ -60,19 +60,19 @@
}, },
"devDependencies": { "devDependencies": {
"@astrojs/starlight": "^0.19.0", "@astrojs/starlight": "^0.19.0",
"@ts-ghost/tsconfig": "workspace:*",
"astro": "^4.4.0", "astro": "^4.4.0",
"vitest": "^1.2.2", "vitest": "^1.3.1",
"vitest-fetch-mock": "^0.2.2" "vitest-fetch-mock": "^0.2.2"
}, },
"dependencies": { "dependencies": {
"@astrojs/rss": "^4.0.5", "@astrojs/rss": "^4.0.5",
"@ts-ghost/core-api": "5.1.2", "@ts-ghost/core-api": "^6.0.0",
"vite": "^5.1.2", "@ts-ghost/content-api": "^4.0.12",
"vite-tsconfig-paths": "^4.2.2" "vite": "^5.1.5",
"vite-tsconfig-paths": "^4.3.1"
}, },
"peerDependencies": { "peerDependencies": {
"@astrojs/starlight": ">=0.19.0", "@astrojs/starlight": ">=0.19.0",
"astro": ">=4.3.7" "astro": ">=4.4.0"
} }
} }

View File

@ -3,7 +3,7 @@ import StarlightSidebar from '@astrojs/starlight/components/Sidebar.astro'
import type { Props } from '@astrojs/starlight/props' import type { Props } from '@astrojs/starlight/props'
import config from 'virtual:starlight-ghost-config' import config from 'virtual:starlight-ghost-config'
import { isBlogPostPage, isBlogRoot } from '../utils/page' 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' import type { SidebarEntry } from './sidebartypes'
export async function getRecentBlogEntries(){ export async function getRecentBlogEntries(){

View File

@ -2,7 +2,7 @@
import config from 'virtual:starlight-ghost-config' import config from 'virtual:starlight-ghost-config'
import Page from '../components/Page.astro' import Page from '../components/Page.astro'
//import PrevNextLinks from '../components/PrevNextLinks.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 { getPageProps } from '../utils/page'
import AdvancedAuthorCard from '../components/AdvancedAuthorCard.astro'; import AdvancedAuthorCard from '../components/AdvancedAuthorCard.astro';

View File

@ -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<Version extends `v5.${string}` = any> {
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,
);
}
}

View File

@ -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";

View File

@ -1 +0,0 @@
export * from "./authors";

View File

@ -1 +0,0 @@
export * from "./socials";

View File

@ -1 +0,0 @@
export * from "./pages";

View File

@ -1 +0,0 @@
export * from "./posts";

View File

@ -1 +0,0 @@
export * from "./settings";

View File

@ -1 +0,0 @@
export * from "./tags";

View File

@ -1 +0,0 @@
export * from "./tiers";

View File

@ -1,11 +1,15 @@
import { assert, beforeEach, describe, expect, test } from "vitest"; import { assert, beforeEach, describe, expect, test } from "vitest";
import TS_API from "./content-api"; import { TSGhostContentAPI } from "@ts-ghost/content-api";
describe("content-api", () => { describe("content-api", () => {
let api: TS_API; let api: TSGhostContentAPI;
beforeEach(() => { beforeEach(() => {
api = new TS_API("https://ghost.org", "59d4bf56c73c04a18c867dc3ba", "v5.0"); api = new TSGhostContentAPI(
"https://ghost.org",
"59d4bf56c73c04a18c867dc3ba",
"v5.0",
);
}); });
test("content-api", () => { test("content-api", () => {
@ -14,21 +18,25 @@ describe("content-api", () => {
test("content-api shouldn't instantiate with an incorrect url", () => { test("content-api shouldn't instantiate with an incorrect url", () => {
assert.throws(() => { assert.throws(() => {
const api = new TS_API("ghost.org", "59d4bf56c73c04a18c867dc3ba", "v5.0"); const api = new TSGhostContentAPI(
"ghost.org",
"59d4bf56c73c04a18c867dc3ba",
"v5.0",
);
api.settings; api.settings;
}); });
}); });
test("content-api shouldn't instantiate with an incorrect key", () => { test("content-api shouldn't instantiate with an incorrect key", () => {
assert.throws(() => { 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; api.settings;
}); });
}); });
test("content-api shouldn't instantiate with an incorrect version", () => { test("content-api shouldn't instantiate with an incorrect version", () => {
assert.throws(() => { assert.throws(() => {
const api = new TS_API( const api = new TSGhostContentAPI(
"https://ghost.org", "https://ghost.org",
"1efedd9db174adee2d23d982:4b74dca0219bad629852191af326a45037346c2231240e0f7aec1f9371cc14e8", "1efedd9db174adee2d23d982:4b74dca0219bad629852191af326a45037346c2231240e0f7aec1f9371cc14e8",
// @ts-expect-error // @ts-expect-error

View File

@ -1,9 +1,8 @@
import { TSGhostContentAPI } from "@ts-ghost/content-api";
import type { Page, Post } from "./schemas";
// LOAD ENVIRONMENT VARIABLES // LOAD ENVIRONMENT VARIABLES
import { loadEnv } from "vite"; 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( const { CONTENT_API_KEY, CONTENT_API_URL } = loadEnv(
"all", "all",
@ -11,13 +10,11 @@ const { CONTENT_API_KEY, CONTENT_API_URL } = loadEnv(
"CONTENT_", "CONTENT_",
); );
invariant(CONTENT_API_KEY, "CONTENT_API_KEY Missing from .env"); // SETUP GHOST API
invariant(CONTENT_API_URL, "CONTENT_API_URL Missing from .env"); const ghostApiKey = CONTENT_API_KEY || "";
const ghostUrl = CONTENT_API_URL || "";
const key: ContentAPICredentials["key"] = CONTENT_API_KEY;
const url: ContentAPICredentials["url"] = CONTENT_API_URL;
const version = "v5.0"; const version = "v5.0";
const api = new TS_API(url, key, version); const api = new TSGhostContentAPI(ghostUrl, ghostApiKey, version);
export const getAllAuthors = async () => { export const getAllAuthors = async () => {
const results = await api.authors const results = await api.authors
@ -73,8 +70,7 @@ export const getSluggedPost = async (slug: string) => {
.include({ .include({
authors: true, authors: true,
tags: true, tags: true,
}) }).fetch()
.fetch();
if (!results.success) { if (!results.success) {
throw new Error(results.errors.map((e) => e.message).join(", ")); throw new Error(results.errors.map((e) => e.message).join(", "));
@ -107,8 +103,7 @@ export const getSluggedPage = async (slug: string) => {
.include({ .include({
authors: true, authors: true,
tags: true, tags: true,
}) }).fetch()
.fetch();
if (!results.success) { if (!results.success) {
throw new Error(results.errors.map((e) => e.message).join(", ")); throw new Error(results.errors.map((e) => e.message).join(", "));

View File

@ -1,3 +1,3 @@
export * from "./api-functions"; export * from "./ghostAPI";
export * from "./content-api/schemas"; export * from "./schemas";
export * from "./invariant"; export * from "./invariant";

View File

@ -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 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.
*/ */
const tinyinvariant = "merged";
const isProduction: boolean = process.env.NODE_ENV === "production"; const isProduction: boolean = process.env.NODE_ENV === "production";
const prefix: string = "Invariant failed"; const prefix: string = "Invariant failed";

View File

@ -1,7 +1,7 @@
import { afterEach, beforeEach, describe, expect, test, vi } from "vitest"; import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
import createFetchMock from "vitest-fetch-mock"; import createFetchMock from "vitest-fetch-mock";
import TS_API from "../../content-api"; import { TSGhostContentAPI } from "@ts-ghost/content-api";
const fetchMocker = createFetchMock(vi); 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 url = process.env.VITE_GHOST_URL || "https://my-ghost-blog.com";
const key = const key =
process.env.VITE_GHOST_CONTENT_API_KEY || "59d4bf56c73c04a18c867dc3ba"; 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", () => { test(".browse() params shouldnt accept invalid params", () => {
// @ts-expect-error - shouldnt accept invalid params // @ts-expect-error - shouldnt accept invalid params
const browse = api.authors.browse({ pp: 2 }); const browse = api.authors.browse({ pp: 2 });
@ -95,10 +95,10 @@ describe("authors api .browse() Args Type-safety", () => {
}); });
describe("authors resource mocked", () => { describe("authors resource mocked", () => {
let api: TS_API; let api: TSGhostContentAPI;
beforeEach(() => { beforeEach(() => {
api = new TS_API( api = new TSGhostContentAPI(
"https://my-ghost-blog.com", "https://my-ghost-blog.com",
"59d4bf56c73c04a18c867dc3ba", "59d4bf56c73c04a18c867dc3ba",
"v5.0", "v5.0",

View File

@ -1,7 +1,7 @@
export * from "./authors"; export * from "./authors";
export * from "./helpers";
export * from "./pages"; export * from "./pages";
export * from "./posts"; export * from "./posts";
export * from "./settings"; export * from "./settings";
export * from "./socials";
export * from "./tags"; export * from "./tags";
export * from "./tiers"; export * from "./tiers";

View File

@ -7,8 +7,8 @@ import {
} from "@ts-ghost/core-api"; } from "@ts-ghost/core-api";
import { z } from "astro/zod"; import { z } from "astro/zod";
import { authorsSchema } from "../authors"; import { authorsSchema } from "./authors";
import { tagsSchema } from "../tags"; import { tagsSchema } from "./tags";
const postsAuthorSchema = authorsSchema.extend({ const postsAuthorSchema = authorsSchema.extend({
url: z.string().nullish(), url: z.string().nullish(),

View File

@ -1,14 +1,14 @@
import { describe, expect, test } from "vitest"; import { describe, expect, test } from "vitest";
import TS_API from "../../content-api"; import { TSGhostContentAPI } from "@ts-ghost/content-api";
import type { Post } from "./posts"; import type { Post } from "./index";
const url = process.env.VITE_GHOST_URL || "https://my-ghost-blog.com"; const url = process.env.VITE_GHOST_URL || "https://my-ghost-blog.com";
const key = const key =
process.env.VITE_GHOST_CONTENT_API_KEY || "59d4bf56c73c04a18c867dc3ba"; process.env.VITE_GHOST_CONTENT_API_KEY || "59d4bf56c73c04a18c867dc3ba";
describe("posts api .browse() Args Type-safety", () => { 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", () => { test(".browse() params shouldnt accept invalid params", () => {
// @ts-expect-error - shouldnt accept invalid params // @ts-expect-error - shouldnt accept invalid params
const browse = api.posts.browse({ pp: 2 }); const browse = api.posts.browse({ pp: 2 });
@ -21,8 +21,7 @@ describe("posts api .browse() Args Type-safety", () => {
foo: true, foo: true,
} satisfies { [k in keyof Post]?: true | undefined }; } satisfies { [k in keyof Post]?: true | undefined };
// biome-ignore lint/style/useConst: <explanation> const test = api.posts
let test = api.posts
.browse() .browse()
// @ts-expect-error - shouldnt accept invalid params // @ts-expect-error - shouldnt accept invalid params
.fields(outputFields); .fields(outputFields);
@ -45,8 +44,7 @@ describe("posts api .browse() Args Type-safety", () => {
title: true, title: true,
} satisfies { [k in keyof Post]?: true | undefined }; } satisfies { [k in keyof Post]?: true | undefined };
// biome-ignore lint/style/useConst: <explanation> const test = api.posts.browse().fields(outputFields);
let test = api.posts.browse().fields(outputFields);
expect(test.getOutputFields()).toEqual(["slug", "title"]); expect(test.getOutputFields()).toEqual(["slug", "title"]);
// @ts-expect-error - shouldnt accept invalid params // @ts-expect-error - shouldnt accept invalid params

View File

@ -7,8 +7,8 @@ import {
} from "@ts-ghost/core-api"; } from "@ts-ghost/core-api";
import { z } from "astro/zod"; import { z } from "astro/zod";
import { authorsSchema } from "../authors"; import { authorsSchema } from "./authors";
import { tagsSchema } from "../tags"; import { tagsSchema } from "./tags";
const postsAuthorSchema = authorsSchema.extend({ const postsAuthorSchema = authorsSchema.extend({
url: z.string().nullish(), url: z.string().nullish(),

View File

@ -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");
}
});
});

View File

@ -10,11 +10,11 @@ export default defineConfig({
//tailwind(), //tailwind(),
UnoCSS({ injectReset: true }), UnoCSS({ injectReset: true }),
ghostcms({ ghostcms({
ghostURL: "https://ghostdemo.matthiesen.xyz", ghostURL: 'https://ghostdemo.matthiesen.xyz',
ThemeProvider: { ThemeProvider: {
theme: "@matthiesenxyz/astro-ghostcms-brutalbyelian", theme: "@matthiesenxyz/astro-ghostcms-brutalbyelian",
}, },
verbose: false, verbose: true,
}), }),
], ],
}); });

View File

@ -13,6 +13,7 @@
"dependencies": { "dependencies": {
"astro": "^4.4.0", "astro": "^4.4.0",
"@matthiesenxyz/astro-ghostcms": "workspace:*", "@matthiesenxyz/astro-ghostcms": "workspace:*",
"@matthiesenxyz/astro-ghostcms-theme-default": "workspace:*",
"@matthiesenxyz/astro-ghostcms-brutalbyelian": "workspace:*", "@matthiesenxyz/astro-ghostcms-brutalbyelian": "workspace:*",
"@astrojs/tailwind": "^5.1.0", "@astrojs/tailwind": "^5.1.0",
"@unocss/astro": "^0.58.5", "@unocss/astro": "^0.58.5",

View File

@ -104,7 +104,7 @@ importers:
version: link:../astro-ghostcms-rendercontent version: link:../astro-ghostcms-rendercontent
'@unocss/astro': '@unocss/astro':
specifier: ^0.58.5 specifier: ^0.58.5
version: 0.58.5(vite@5.1.4) version: 0.58.5(vite@5.1.5)
'@unocss/reset': '@unocss/reset':
specifier: ^0.58.5 specifier: ^0.58.5
version: 0.58.5 version: 0.58.5
@ -122,7 +122,7 @@ importers:
version: 1.5.2 version: 1.5.2
unocss: unocss:
specifier: ^0.58.5 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: devDependencies:
'@typescript-eslint/parser': '@typescript-eslint/parser':
specifier: ^7.0.1 specifier: ^7.0.1
@ -247,31 +247,31 @@ importers:
'@astrojs/rss': '@astrojs/rss':
specifier: ^4.0.5 specifier: ^4.0.5
version: 4.0.5 version: 4.0.5
'@ts-ghost/content-api':
specifier: ^4.0.12
version: 4.0.12
'@ts-ghost/core-api': '@ts-ghost/core-api':
specifier: 5.1.2 specifier: ^6.0.0
version: 5.1.2 version: 6.0.0
vite: vite:
specifier: ^5.1.2 specifier: ^5.1.5
version: 5.1.3 version: 5.1.5(@types/node@20.11.24)
vite-tsconfig-paths: vite-tsconfig-paths:
specifier: ^4.2.2 specifier: ^4.3.1
version: 4.3.1(vite@5.1.3) version: 4.3.1(vite@5.1.5)
devDependencies: devDependencies:
'@astrojs/starlight': '@astrojs/starlight':
specifier: ^0.19.0 specifier: ^0.19.0
version: 0.19.0(astro@4.4.0) version: 0.19.0(astro@4.4.0)
'@ts-ghost/tsconfig':
specifier: workspace:*
version: link:../tsconfig
astro: astro:
specifier: ^4.4.0 specifier: ^4.4.0
version: 4.4.0(typescript@5.3.3) version: 4.4.0(typescript@5.3.3)
vitest: vitest:
specifier: ^1.2.2 specifier: ^1.3.1
version: 1.2.2(@vitest/ui@1.3.1) version: 1.3.1(@vitest/ui@1.3.1)
vitest-fetch-mock: vitest-fetch-mock:
specifier: ^0.2.2 specifier: ^0.2.2
version: 0.2.2(vitest@1.2.2) version: 0.2.2(vitest@1.3.1)
packages/tsconfig: {} packages/tsconfig: {}
@ -286,9 +286,12 @@ importers:
'@matthiesenxyz/astro-ghostcms-brutalbyelian': '@matthiesenxyz/astro-ghostcms-brutalbyelian':
specifier: workspace:* specifier: workspace:*
version: link:../../packages/astro-ghostcms-brutalbyelian version: link:../../packages/astro-ghostcms-brutalbyelian
'@matthiesenxyz/astro-ghostcms-theme-default':
specifier: workspace:*
version: link:../../packages/astro-ghostcms-theme-default
'@unocss/astro': '@unocss/astro':
specifier: ^0.58.5 specifier: ^0.58.5
version: 0.58.5(vite@5.1.4) version: 0.58.5(vite@5.1.5)
astro: astro:
specifier: ^4.4.0 specifier: ^4.4.0
version: 4.4.0(typescript@5.3.3) version: 4.4.0(typescript@5.3.3)
@ -304,7 +307,7 @@ importers:
version: 5.3.3 version: 5.3.3
unocss: unocss:
specifier: ^0.58.5 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: playgrounds/starlight-playground:
dependencies: dependencies:
@ -1891,13 +1894,6 @@ packages:
zod: 3.22.4 zod: 3.22.4
dev: false 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: /@ts-ghost/core-api@6.0.0:
resolution: {integrity: sha512-5Q7nbrmAoJ/5PcW2lPgCVyAJloVaQqybHpzXuFRbKj5sYWNeJbcwSrnYOBw/3t1tA2ghPrNVXqWOGrGKqZl1Zg==} resolution: {integrity: sha512-5Q7nbrmAoJ/5PcW2lPgCVyAJloVaQqybHpzXuFRbKj5sYWNeJbcwSrnYOBw/3t1tA2ghPrNVXqWOGrGKqZl1Zg==}
dependencies: dependencies:
@ -2134,7 +2130,7 @@ packages:
/@ungap/structured-clone@1.2.0: /@ungap/structured-clone@1.2.0:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 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==} resolution: {integrity: sha512-LtuVnj8oFAK9663OVhQO8KpdJFiOyyPsYfnOZlDCOFK3gHb/2WMrzdBwr1w8LoQF3bDedkFMKirVF7gWjyZiaw==}
peerDependencies: peerDependencies:
vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
@ -2144,8 +2140,8 @@ packages:
dependencies: dependencies:
'@unocss/core': 0.58.5 '@unocss/core': 0.58.5
'@unocss/reset': 0.58.5 '@unocss/reset': 0.58.5
'@unocss/vite': 0.58.5(vite@5.1.4) '@unocss/vite': 0.58.5(vite@5.1.5)
vite: 5.1.4(sass@1.71.0) vite: 5.1.5(@types/node@20.11.24)
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
@ -2305,7 +2301,7 @@ packages:
dependencies: dependencies:
'@unocss/core': 0.58.5 '@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==} resolution: {integrity: sha512-p4o1XNX1rvjmoUqSSdua8XyWNg/d+YUChDd2L/xEty+6j2qv0wUaohs3UQ87vWlv632/UmgdX+2MbrgtqthCtw==}
peerDependencies: peerDependencies:
vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
@ -2320,18 +2316,10 @@ packages:
chokidar: 3.6.0 chokidar: 3.6.0
fast-glob: 3.3.2 fast-glob: 3.3.2
magic-string: 0.30.7 magic-string: 0.30.7
vite: 5.1.4(sass@1.71.0) vite: 5.1.5(@types/node@20.11.24)
transitivePeerDependencies: transitivePeerDependencies:
- rollup - 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: /@vitest/expect@1.3.1:
resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==}
dependencies: dependencies:
@ -2340,14 +2328,6 @@ packages:
chai: 4.4.1 chai: 4.4.1
dev: true 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: /@vitest/runner@1.3.1:
resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==}
dependencies: dependencies:
@ -2356,14 +2336,6 @@ packages:
pathe: 1.1.2 pathe: 1.1.2
dev: true 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: /@vitest/snapshot@1.3.1:
resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==}
dependencies: dependencies:
@ -2372,12 +2344,6 @@ packages:
pretty-format: 29.7.0 pretty-format: 29.7.0
dev: true 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: /@vitest/spy@1.3.1:
resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==}
dependencies: dependencies:
@ -2399,15 +2365,6 @@ packages:
vitest: 1.3.1(@vitest/ui@1.3.1) vitest: 1.3.1(@vitest/ui@1.3.1)
dev: true 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: /@vitest/utils@1.3.1:
resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==}
dependencies: dependencies:
@ -7303,12 +7260,6 @@ packages:
engines: {node: '>=8'} engines: {node: '>=8'}
dev: true dev: true
/strip-literal@1.3.0:
resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==}
dependencies:
acorn: 8.11.3
dev: true
/strip-literal@2.0.0: /strip-literal@2.0.0:
resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==}
dependencies: dependencies:
@ -7798,7 +7749,7 @@ packages:
engines: {node: '>= 10.0.0'} engines: {node: '>= 10.0.0'}
dev: false 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==} resolution: {integrity: sha512-0g4P6jLgRRNnhscxw7nQ9RHGrKJ1UPPiHPet+YT3TXUcmy4mTiYgo9+kGQf5bjyrzsELJ10cT6Qz2y6g9Tls4g==}
engines: {node: '>=14'} engines: {node: '>=14'}
peerDependencies: peerDependencies:
@ -7810,7 +7761,7 @@ packages:
vite: vite:
optional: true optional: true
dependencies: 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/cli': 0.58.5
'@unocss/core': 0.58.5 '@unocss/core': 0.58.5
'@unocss/extractor-arbitrary-variants': 0.58.5 '@unocss/extractor-arbitrary-variants': 0.58.5
@ -7829,8 +7780,8 @@ packages:
'@unocss/transformer-compile-class': 0.58.5 '@unocss/transformer-compile-class': 0.58.5
'@unocss/transformer-directives': 0.58.5 '@unocss/transformer-directives': 0.58.5
'@unocss/transformer-variant-group': 0.58.5 '@unocss/transformer-variant-group': 0.58.5
'@unocss/vite': 0.58.5(vite@5.1.4) '@unocss/vite': 0.58.5(vite@5.1.5)
vite: 5.1.4(sass@1.71.0) vite: 5.1.5(@types/node@20.11.24)
transitivePeerDependencies: transitivePeerDependencies:
- postcss - postcss
- rollup - rollup
@ -7907,48 +7858,6 @@ packages:
unist-util-stringify-position: 4.0.0 unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2 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): /vite-node@1.3.1(@types/node@20.11.24):
resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==}
engines: {node: ^18.0.0 || >=20.0.0} engines: {node: ^18.0.0 || >=20.0.0}
@ -7958,7 +7867,7 @@ packages:
debug: 4.3.4 debug: 4.3.4
pathe: 1.1.2 pathe: 1.1.2
picocolors: 1.0.0 picocolors: 1.0.0
vite: 5.1.4(@types/node@20.11.24) vite: 5.1.5(@types/node@20.11.24)
transitivePeerDependencies: transitivePeerDependencies:
- '@types/node' - '@types/node'
- less - less
@ -7970,7 +7879,7 @@ packages:
- terser - terser
dev: true 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==} resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==}
peerDependencies: peerDependencies:
vite: '*' vite: '*'
@ -7981,47 +7890,12 @@ packages:
debug: 4.3.4 debug: 4.3.4
globrex: 0.1.2 globrex: 0.1.2
tsconfck: 3.0.2(typescript@5.3.3) tsconfck: 3.0.2(typescript@5.3.3)
vite: 5.1.3 vite: 5.1.5(@types/node@20.11.24)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
- typescript - typescript
dev: false 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): /vite@5.1.4(@types/node@20.11.24):
resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==}
engines: {node: ^18.0.0 || >=20.0.0} engines: {node: ^18.0.0 || >=20.0.0}
@ -8092,6 +7966,41 @@ packages:
optionalDependencies: optionalDependencies:
fsevents: 2.3.3 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): /vitefu@0.2.5(vite@5.1.4):
resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
peerDependencies: peerDependencies:
@ -8102,18 +8011,6 @@ packages:
dependencies: dependencies:
vite: 5.1.4(@types/node@20.11.24) 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): /vitest-fetch-mock@0.2.2(vitest@1.3.1):
resolution: {integrity: sha512-XmH6QgTSjCWrqXoPREIdbj40T7i1xnGmAsTAgfckoO75W1IEHKR8hcPCQ7SO16RsdW1t85oUm6pcQRLeBgjVYQ==} resolution: {integrity: sha512-XmH6QgTSjCWrqXoPREIdbj40T7i1xnGmAsTAgfckoO75W1IEHKR8hcPCQ7SO16RsdW1t85oUm6pcQRLeBgjVYQ==}
engines: {node: '>=14.14.0'} engines: {node: '>=14.14.0'}
@ -8126,63 +8023,6 @@ packages:
- encoding - encoding
dev: true 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): /vitest@1.3.1(@types/node@20.11.24)(@vitest/ui@1.3.1):
resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==}
engines: {node: ^18.0.0 || >=20.0.0} engines: {node: ^18.0.0 || >=20.0.0}
@ -8284,7 +8124,7 @@ packages:
tinybench: 2.6.0 tinybench: 2.6.0
tinypool: 0.8.2 tinypool: 0.8.2
vite: 5.1.4(sass@1.71.0) 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 why-is-node-running: 2.2.2
transitivePeerDependencies: transitivePeerDependencies:
- less - less