Updates to starlight-ghostcms and create-astro-ghostcms
This commit is contained in:
parent
9f6f137155
commit
9ec2a61782
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
"@matthiesenxyz/create-astro-ghostcms": minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Bumb all templates to new `astro-ghostcms` version v3.3
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
"@matthiesenxyz/starlight-ghostcms": minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Bumb GhostCMS API, No user facing breaking changes.
|
|
@ -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",
|
||||||
|
|
|
@ -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",
|
||||||
|
},
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
|
@ -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": {
|
||||||
|
|
|
@ -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",
|
||||||
|
},
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
|
@ -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"
|
||||||
},
|
},
|
||||||
|
|
|
@ -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,
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
|
@ -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"
|
||||||
},
|
},
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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(){
|
||||||
|
|
|
@ -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';
|
||||||
|
|
||||||
|
|
|
@ -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,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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";
|
|
|
@ -1 +0,0 @@
|
||||||
export * from "./authors";
|
|
|
@ -1 +0,0 @@
|
||||||
export * from "./socials";
|
|
|
@ -1 +0,0 @@
|
||||||
export * from "./pages";
|
|
|
@ -1 +0,0 @@
|
||||||
export * from "./posts";
|
|
|
@ -1 +0,0 @@
|
||||||
export * from "./settings";
|
|
|
@ -1 +0,0 @@
|
||||||
export * from "./tags";
|
|
|
@ -1 +0,0 @@
|
||||||
export * from "./tiers";
|
|
|
@ -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
|
|
@ -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
|
||||||
|
@ -67,14 +64,13 @@ export const getAllPosts = async () => {
|
||||||
return posts;
|
return posts;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getSluggedPost = async (slug: string) => {
|
export const getSluggedPost = async (slug:string) => {
|
||||||
const results = await api.posts
|
const results = await api.posts
|
||||||
.read({ slug: slug })
|
.read({slug: slug})
|
||||||
.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(", "));
|
||||||
|
@ -101,14 +97,13 @@ export const getAllPages = async () => {
|
||||||
return pages;
|
return pages;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getSluggedPage = async (slug: string) => {
|
export const getSluggedPage = async (slug:string) => {
|
||||||
const results = await api.pages
|
const results = await api.pages
|
||||||
.read({ slug: slug })
|
.read({slug: slug})
|
||||||
.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(", "));
|
|
@ -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";
|
||||||
|
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
@ -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",
|
|
@ -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";
|
|
@ -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(),
|
|
@ -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
|
|
@ -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(),
|
|
@ -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");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
|
@ -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,
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
|
@ -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",
|
||||||
|
|
294
pnpm-lock.yaml
294
pnpm-lock.yaml
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue