feat: Chore: Migrate from Render content Util and `<Fragment set:html />` to `astro-remote` (#86)

Co-authored-by: create-issue-branch[bot] <53036503+create-issue-branch[bot]@users.noreply.github.com>
Co-authored-by: Adam Matthiesen <30383579+Adammatthiesen@users.noreply.github.com>
Co-authored-by: Adam Matthiesen <amatthiesen@outlook.com>
This commit is contained in:
create-issue-branch[bot] 2024-03-07 23:29:02 -08:00 committed by GitHub
parent b606fac02d
commit 27241192af
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
37 changed files with 722 additions and 239 deletions

View File

@ -0,0 +1,5 @@
---
"@matthiesenxyz/astro-ghostcms-theme-default": patch
---
Migrate to `astro-remote` for internal processing of GhostCMS HTML. No user changes required.

View File

@ -0,0 +1,5 @@
---
"@matthiesenxyz/astro-ghostcms-rendercontent": patch
---
Prep to deprecate this package. Moving to `astro-remote`

View File

@ -0,0 +1,5 @@
---
"@matthiesenxyz/starlight-ghostcms": patch
---
Migrate to `astro-remote` for internal processing of GhostCMS HTML. No user changes required.

View File

@ -0,0 +1,5 @@
---
"@matthiesenxyz/astro-ghostcms-catppuccin": patch
---
Migrate to `astro-remote` for internal processing of GhostCMS HTML. No user changes required.

View File

@ -0,0 +1,5 @@
---
"@matthiesenxyz/astro-ghostcms-brutalbyelian": patch
---
Migrate from `astro-ghostcms-rendercontent` to `astro-remote` for internal processing of GhostCMS HTML. no user changes required.

View File

@ -42,7 +42,8 @@
},
"scripts": {},
"peerDependencies": {
"astro": "^4.2.0"
"@matthiesenxyz/astro-ghostcms": ">=3.3.1",
"astro": ">=4.4.1"
},
"devDependencies": {
"@typescript-eslint/parser": "^7.1.1",
@ -50,21 +51,18 @@
"eslint-plugin-astro": "^0.31.4",
"eslint-plugin-jsx-a11y": "^6.8.0",
"prettier-plugin-astro": "^0.13.0",
"prettier": "^3.2.5",
"@matthiesenxyz/astro-ghostcms": "workspace:*",
"@matthiesenxyz/astro-ghostcms-rendercontent": "workspace:*"
"prettier": "^3.2.5"
},
"dependencies": {
"@eliancodes/brutal-ui": "^0.2.6",
"@iconify-json/logos": "^1.1.41",
"@iconify-json/uil": "^1.1.8",
"@matthiesenxyz/astro-ghostcms": "^3.3.1",
"@matthiesenxyz/astro-ghostcms-rendercontent": "^0.0.8",
"@unocss/astro": "^0.58.5",
"@unocss/reset": "^0.58.5",
"unocss": "^0.58.5",
"@eliancodes/brutal-ui": "^0.2.6",
"astro-font": "^0.0.77",
"astro-remote": "0.3.2",
"typescript": "^5.4.2",
"ultrahtml": "^1.5.3"
"ultrahtml": "^1.5.3",
"unocss": "^0.58.5"
}
}

View File

@ -1,6 +1,7 @@
---
import { getGhostImgPath } from "../../utils";
import type { Settings } from "@matthiesenxyz/astro-ghostcms/api";
import { Markup } from 'astro-remote';
export type Props = {
image: string;
alt?: string;
@ -22,5 +23,5 @@ const { image, alt, caption = "", settings, transitionName } = Astro.props as Pr
alt={alt}
transition:name={transitionName}
/>
{caption && <figcaption class="text-ctp-overlay2"><Fragment set:html={caption}></figcaption>}
{caption && <figcaption class="text-ctp-overlay2"><Markup content={caption} /></figcaption>}
</figure>

View File

@ -6,7 +6,12 @@ import { querySelector } from "ultrahtml/selector"
const html = await Astro.slots.render("default")
const ast = await parse(html)
const codetag = querySelector(ast,'code')
const { children } = codetag
const { children, attributes } = codetag
const code = children[0].value
const checkLang = attributes.class ? attributes.class.slice(9) : undefined
const lang = checkLang ? checkLang : 'plaintxt'
---
<Code code={code} lang={"sh"} theme={"monokai"}/>
<Code code={code} lang={lang}/>

View File

@ -4,7 +4,7 @@ import { getAllPosts, getAllPages, getSettings, invariant } from "@matthiesenxyz
import type { InferGetStaticPropsType } from "astro";
import RecentBlogPosts from "../components/generic/RecentBlogPosts.astro";
import BlogPostHeader from "../components/blog/BlogPostHeader.astro";
import { GhostRender } from "@matthiesenxyz/astro-ghostcms-rendercontent";
import { Markup } from 'astro-remote';
import * as C from "../components/ghostrender";
import { Card } from "@eliancodes/brutal-ui";
@ -30,8 +30,12 @@ invariant(settings, "Settings are required");
<div class="my-5"/>
<div id="ghost">
<GhostRender
<Markup
content={post.html}
sanitize={{
allowComponents: true,
allowElements: ['a', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img', 'figure', 'figcaption', 'ul', 'ol', 'li', 'blockquote', 'pre', 'code', 'em', 'strong', 'del', 'hr', 'br', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'caption', 'div', 'span', 'script', 'astrocard'],
}}
components={{
h1: C.H1,
h2: C.H2,

View File

@ -50,7 +50,8 @@
},
"scripts": {},
"peerDependencies": {
"astro": "^4.2.1"
"@matthiesenxyz/astro-ghostcms": ">=3.3.1",
"astro": ">=4.4.0"
},
"devDependencies": {
"@matthiesenxyz/astro-ghostcms": "workspace:*"
@ -61,8 +62,10 @@
"@fontsource-variable/inter": "^5.0.17",
"@matthiesenxyz/astro-ghostcms": "^3.3.1",
"@tailwindcss/typography": "^0.5.10",
"tailwindcss": "^3.3.5",
"astro-navbar": "^2.3.1",
"astro-seo": "^0.8.3"
"astro-remote": "^0.3.2",
"astro-seo": "^0.8.3",
"tailwindcss": "^3.3.5",
"ultrahtml": "1.5.3"
}
}

View File

@ -3,6 +3,9 @@ import type { Settings, Post } from "@matthiesenxyz/astro-ghostcms/api";
import FeatureImage from "./FeatureImage.astro";
import AuthorList from "./AuthorList.astro";
import { formatDate } from "../utils";
import { Markup } from 'astro-remote';
import * as render from '../components/astro-remote';
export type Props = {
posts: Post[];
settings: Settings;
@ -59,7 +62,16 @@ const latestFeatured = posts[0]
</div>
<div class="divider my-4"/>
<section id="ghostimport" class="text-ctp-subtext1">
{latestFeatured && <Fragment set:html={latestFeatured.html} />}
{latestFeatured && <Markup
content={latestFeatured.html}
sanitize={{
allowComponents: true,
allowElements: ['a', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img', 'figure', 'figcaption', 'ul', 'ol', 'li', 'blockquote', 'pre', 'code', 'em', 'strong', 'del', 'hr', 'br', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'caption', 'div', 'span', 'script', 'getgist', 'getgistgroup', 'astrocard'],
}}
components={{
pre: render.CodeSlot
}}
/> }
</section>
</div>
</main>

View File

@ -2,6 +2,9 @@
import PostHero from "../components/PostHero.astro";
import PostFooter from "../components/PostFooter.astro";
import { getFeaturedPosts, invariant, type Post, type Settings } from "@matthiesenxyz/astro-ghostcms/api";
import { Markup } from 'astro-remote';
import * as render from '../components/astro-remote';
export type Props = {
post: Post;
settings: Settings;
@ -27,7 +30,16 @@ invariant(settings, "Settings not found");
<PostHero post={post} settings={settings} />
<div id="ghostimport" class="mt-4 text-ctp-subtext1">
<Fragment set:html={post.html} />
<Markup
content={post.html}
sanitize={{
allowComponents: true,
allowElements: ['a', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img', 'figure', 'figcaption', 'ul', 'ol', 'li', 'blockquote', 'pre', 'code', 'em', 'strong', 'del', 'hr', 'br', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'caption', 'div', 'span', 'script', 'getgist', 'getgistgroup', 'astrocard'],
}}
components={{
pre: render.CodeSlot
}}
/>
</div>
<PostFooter post={post} settings={settings} posts={mPosts} />

View File

@ -0,0 +1,17 @@
---
import { Code } from "astro/components"
import { parse } from "ultrahtml"
import { querySelector } from "ultrahtml/selector"
const html = await Astro.slots.render("default")
const ast = await parse(html)
const codetag = querySelector(ast,'code')
const { children, attributes } = codetag
const code = children[0].value
const checkLang = attributes.class ? attributes.class.slice(9) : undefined
const lang = checkLang ? checkLang : 'plaintxt'
---
<Code code={code} lang={lang}/>

View File

@ -0,0 +1 @@
export { default as CodeSlot } from "./CodeSlot.astro";

View File

@ -1,5 +1,7 @@
# Astro GhostCMS Content API HTML Processor
## NOTE: This package is no longer in use - Please switch to [`astro-remote`](https://github.com/natemoo-re/astro-remote)
Render remote GhostCMS HTML in Astro with full control over the output.
Powered by [`ultrahtml`](https://github.com/natemoo-re/ultrahtml).

View File

@ -47,11 +47,13 @@
"typescript": "^5.4.2"
},
"peerDependencies": {
"astro": "^4.2.1"
"@matthiesenxyz/astro-ghostcms": ">=3.3.1",
"astro": ">=4.4.0"
},
"dependencies": {
"@matthiesenxyz/astro-ghostcms": "^3.3.1",
"astro-font": "^0.0.77",
"sass": "^1.71.1"
"astro-remote": "^0.3.2",
"sass": "^1.71.1",
"ultrahtml": "^1.5.3"
}
}

View File

@ -1,6 +1,8 @@
---
import FeatureImage from "../components/FeatureImage.astro";
import type { Settings, Page } from "@matthiesenxyz/astro-ghostcms/api";
import { Markup } from 'astro-remote';
import * as render from '../components/astro-remote';
export type Props = {
page: Page;
settings: Settings;
@ -24,7 +26,15 @@ const { page, settings, pageClass } = Astro.props as Props;
<section class="gh-content gh-canvas">
<h1 class="article-title">{page.title}</h1>
<Fragment set:html={page.html} />
<Markup
content={page.html}
sanitize={{
allowComponents: true,
allowElements: ['a', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img', 'figure', 'figcaption', 'ul', 'ol', 'li', 'blockquote', 'pre', 'code', 'em', 'strong', 'del', 'hr', 'br', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'caption', 'div', 'span', 'script', 'getgist', 'getgistgroup', 'astrocard'],
}}
components={{
pre: render.CodeSlot
}} />
</section>
</article>
</main>

View File

@ -2,6 +2,8 @@
import PostHero from "../components/PostHero.astro";
import PostFooter from "../components/PostFooter.astro";
import {invariant, type Post, type Settings } from "@matthiesenxyz/astro-ghostcms/api";
import { Markup } from 'astro-remote';
import * as render from '../components/astro-remote';
export type Props = {
post: Post;
settings: Settings;
@ -16,7 +18,15 @@ invariant(settings, "Settings not found");
<article class={`article post ${postClass}`}>
<PostHero post={post} settings={settings} />
<section class="gh-content gh-canvas">
<Fragment set:html={post.html} />
<Markup
content={post.html}
sanitize={{
allowComponents: true,
allowElements: ['a', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img', 'figure', 'figcaption', 'ul', 'ol', 'li', 'blockquote', 'pre', 'code', 'em', 'strong', 'del', 'hr', 'br', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'caption', 'div', 'span', 'script', 'getgist', 'getgistgroup', 'astrocard'],
}}
components={{
pre: render.CodeSlot
}} />
</section>
</article>
<PostFooter post={post} settings={settings} posts={posts} />

View File

@ -0,0 +1,17 @@
---
import { Code } from "astro/components"
import { parse } from "ultrahtml"
import { querySelector } from "ultrahtml/selector"
const html = await Astro.slots.render("default")
const ast = await parse(html)
const codetag = querySelector(ast,'code')
const { children, attributes } = codetag
const code = children[0].value
const checkLang = attributes.class ? attributes.class.slice(9) : undefined
const lang = checkLang ? checkLang : 'plaintext'
---
<Code code={code} lang={lang}/>

View File

@ -0,0 +1 @@
export { default as CodeSlot } from "./CodeSlot.astro";

View File

@ -64,6 +64,7 @@ You must also create 2 environment variables in a `.env` file with the following
```env
CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48
CONTENT_API_URL=https://ghostdemo.matthiesen.xyz
GITHUB_PERSONAL_TOKEN=ghp_ //OPTIONAL - This is for Astro-Gists if you choose to use it!
```
**When you deploy your install dont forget to set the above ENVIRONMENT VARIABLES on your provider!**

View File

@ -1,12 +1,6 @@
import type {
StarlightPlugin,
StarlightUserConfig,
} from "@astrojs/starlight/types";
import type { StarlightPlugin, StarlightUserConfig } from "@astrojs/starlight/types";
import type { AstroIntegrationLogger } from "astro";
import {
type StarlightGhostConfig,
validateConfig,
} from "./src/schemas/config";
import { type StarlightGhostConfig, validateConfig } from "./src/schemas/config";
import { facebook, getSettings, invariant, twitter } from "./src/utils/api";
import starlightGhostcms from "./src/integrations/starlight-ghostcms";
@ -32,7 +26,7 @@ export default function starlightGhostCMS(
}) {
// Add the Starlight-GhostCMS integration
addIntegration(starlightGhostcms(config));
// Update the Starlight config with the GhostCMS config
updateStarlightConfig({
social: {

View File

@ -60,9 +60,12 @@
},
"dependencies": {
"@astrojs/rss": "^4.0.5",
"@matthiesenxyz/astro-gists": "^0.2.1",
"@ts-ghost/core-api": "^6.0.0",
"@ts-ghost/content-api": "^4.0.12",
"astro-integration-kit": "^0.5.1",
"astro-remote": "^0.3.2",
"ultrahtml": "^1.5.3",
"vite": "^5.1.5",
"vite-tsconfig-paths": "^4.3.1"
},

View File

@ -64,7 +64,7 @@ const { author } = Astro.props
img {
border: 1px solid var(--sl-color-gray-2);
border-radius: 9999px;
height: 10rem;
width: 10rem;
height: 6rem;
width: 6rem;
}
</style>

View File

@ -1,5 +1,6 @@
---
import type { Author } from '../schemas/authors'
import config from 'virtual:starlight-ghostcms/config';
interface Props {
author: Author
@ -11,7 +12,7 @@ const isLink = author.slug !== undefined
const Element = isLink ? 'a' : 'div'
---
<Element href={isLink ? '/blog/authors' : undefined} class="author">
<Element href={isLink ? `/${config.route}/authors` : undefined} class="author">
{author.profile_image && <img alt={author.name} src={author.profile_image} />}
<div class="text">
<div class="name">{author.name}</div>

View File

@ -1,6 +1,7 @@
---
import type { Post } from '../schemas/posts'
import Metadata from './Metadata.astro'
import config from 'virtual:starlight-ghostcms/config';
interface Props {
entry: Post
@ -14,7 +15,7 @@ const Excerpt = entry.excerpt
<article class="preview">
<header>
<h2>
<a href={`/blog/${entry.slug}`}>{entry.title}</a>
<a href={`/${config.route}/${entry.slug}`}>{entry.title}</a>
</h2>
<Metadata entry={entry} />
</header>

View File

@ -0,0 +1,17 @@
---
import { Code } from "@astrojs/starlight/components"
import { parse } from "ultrahtml"
import { querySelector } from "ultrahtml/selector"
const html = await Astro.slots.render("default")
const ast = await parse(html)
const codetag = querySelector(ast,'code')
const { children, attributes } = codetag
const code = children[0].value
const checkLang = attributes.class ? attributes.class.slice(9) : undefined
const lang = checkLang ? checkLang : 'txt'
---
<Code code={code} lang={lang}/>

View File

@ -0,0 +1 @@
export { default as CodeSlot } from "./CodeSlot.astro";

View File

@ -5,6 +5,7 @@ import {
import { corePlugins } from "astro-integration-kit/plugins";
import { z } from "astro/zod";
import { type StarlightGhostConfig } from "../schemas/config";
import astroGists from "@matthiesenxyz/astro-gists";
export default defineIntegration({
name: "@matthiesenxyz/starlight-ghostcms",
@ -17,10 +18,17 @@ export default defineIntegration({
"astro:config:setup": ({
watchIntegration,
addVirtualImports,
injectRoute
injectRoute,
logger,
addIntegration,
}) => {
watchIntegration(resolve());
// Add the AstroGist integration if enabled
logger.info("Adding @matthiesenxyz/astro-gists integration ...");
addIntegration(astroGists());
logger.info("Note: If you are using Astro-Gists with GhostCMS Make sure to set the `GITHUB_PERSONAL_TOKEN` in your `.env` file. \n Otherwise, you can ignore any error messages related to Astro-Gists.")
addVirtualImports({
'virtual:starlight-ghostcms/config': `export default ${JSON.stringify(options)}`,
});

View File

@ -2,7 +2,6 @@
import StarlightMarkdownContent from '@astrojs/starlight/components/MarkdownContent.astro'
import type { Props } from '@astrojs/starlight/props'
import config from 'virtual:starlight-ghostcms/config'
import { isAnyBlogPostPage } from '../utils/page'
import Metadata from '../components/Metadata.astro'
import type { Post } from '../schemas/posts'
@ -11,7 +10,6 @@ export function checkpath(path: string){
}
const isBlog = checkpath(Astro.url.pathname)
const isBlogPost = isAnyBlogPostPage(Astro.props.slug)
let blogEntry: Post | undefined = undefined
---

View File

@ -1,11 +1,13 @@
---
import config from 'virtual:starlight-ghostcms/config'
import config from 'virtual:starlight-ghostcms/config';
import { Image } from "astro:assets";
import Page from '../components/Page.astro'
import { getPageProps } from '../utils/page'
import { getAllPosts } from '../utils/api'
import Metadata from '../components/Metadata.astro'
import Page from '../components/Page.astro';
import { getPageProps } from '../utils/page';
import { getAllPosts } from '../utils/api';
import Metadata from '../components/Metadata.astro';
import { Markup } from 'astro-remote';
import * as render from '../components/astro-remote';
import * as Gists from '@matthiesenxyz/astro-gists/components';
export async function getStaticPaths() {
const entries = await getAllPosts();
@ -36,13 +38,25 @@ const pageProps = getPageProps(post.title)
height={800}
/>
<figcaption>
<Fragment set:html={post.feature_image_caption} />
<Markup content={post.feature_image_caption? post.feature_image_caption : "<div />"} />
</figcaption>
</figure>
)}
</header>
<br />
<Fragment set:html={post.html} />
<Markup
content={post.html}
sanitize={{
allowComponents: true,
allowElements: ['a', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img', 'figure', 'figcaption', 'ul', 'ol', 'li', 'blockquote', 'pre', 'code', 'em', 'strong', 'del', 'hr', 'br', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'caption', 'div', 'span', 'script', 'getgist', 'getgistgroup', 'astrocard'],
}}
components={{
pre: render.CodeSlot,
getgist: Gists.GetGist,
getgistgroup: Gists.GetGistGroup,
}}
/>
<footer class="not-content">
</footer>

View File

@ -5,6 +5,8 @@ import Page from '../components/Page.astro'
//import PrevNextLinks from '../components/PrevNextLinks.astro'
import { getPageProps } from '../utils/page'
import { getSluggedPage } from '../utils/api'
import { Markup } from 'astro-remote'
import * as render from '../components/astro-remote';
const aboutPage = await getSluggedPage("about");
@ -18,7 +20,15 @@ const pageProps = getPageProps(aboutPage?.post?.title)
<div id="pghost">Powered by <a href="https://ghost.org">Ghost</a></div>
)}
<Metadata entry={aboutPage.post} />
<Fragment set:html={aboutPage.post.html} />
<Markup
content={aboutPage.post.html}
sanitize={{
allowComponents: true,
allowElements: ['a', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img', 'figure', 'figcaption', 'ul', 'ol', 'li', 'blockquote', 'pre', 'code', 'em', 'strong', 'del', 'hr', 'br', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'caption', 'div', 'span'],
}}
components={{
pre: render.CodeSlot
}} />
<footer class="not-content">
<!--PrevNextLinks next={nextLink} prev={prevLink} /-->
</footer>

View File

@ -1,7 +1,7 @@
import config from 'virtual:starlight-ghostcms/config'
export function isBlogRoot(slug: string) {
return slug === "blog";
return slug === `${config.route}`;
}
export function isAnyBlogPostPage(slug: string) {
@ -15,7 +15,7 @@ export function isBlogPostPage(slug: string, postSlug: string) {
}
export function isBlogTagsPage(slug: string, tag: string) {
return slug === `blog/tags/${tag}`;
return slug === `${config.route}/tags/${tag}`;
}
export function getPageProps(title: string): StarlightPageProps {

View File

@ -1,3 +1,6 @@
{
"extends": "astro/tsconfigs/strict"
"extends": "astro/tsconfigs/strictest",
"compilerOptions": {
"jsx": "preserve"
}
}

View File

@ -1,18 +1,18 @@
import ghostcms from "@matthiesenxyz/astro-ghostcms";
import { defineConfig } from "astro/config";
//import tailwind from "@astrojs/tailwind";
import UnoCSS from "unocss/astro";
///import tailwind from "@astrojs/tailwind";
//import UnoCSS from "unocss/astro";
// https://astro.build/config
export default defineConfig({
site: "https://demo.astro-ghostcms.xyz/",
integrations: [
//tailwind(),
UnoCSS({ injectReset: true }),
//UnoCSS({ injectReset: true }),
ghostcms({
ghostURL: 'https://ghostdemo.matthiesen.xyz',
ThemeProvider: {
theme: "@matthiesenxyz/astro-ghostcms-brutalbyelian",
theme: "@matthiesenxyz/astro-ghostcms-theme-default",
},
verbose: true,
}),

View File

@ -14,6 +14,7 @@
"astro": "^4.4.13",
"@matthiesenxyz/astro-ghostcms": "workspace:*",
"@matthiesenxyz/astro-ghostcms-theme-default": "workspace:*",
"@matthiesenxyz/astro-ghostcms-catppuccin": "workspace:*",
"@matthiesenxyz/astro-ghostcms-brutalbyelian": "workspace:*",
"@astrojs/tailwind": "^5.1.0",
"@unocss/astro": "^0.58.5",

View File

@ -97,11 +97,8 @@ importers:
specifier: ^1.1.8
version: 1.1.8
'@matthiesenxyz/astro-ghostcms':
specifier: ^3.3.1
specifier: '>=3.3.1'
version: link:../astro-ghostcms
'@matthiesenxyz/astro-ghostcms-rendercontent':
specifier: ^0.0.8
version: link:../astro-ghostcms-rendercontent
'@unocss/astro':
specifier: ^0.58.5
version: 0.58.5(vite@5.1.5)
@ -109,11 +106,14 @@ importers:
specifier: ^0.58.5
version: 0.58.5
astro:
specifier: ^4.2.0
version: 4.3.7(sass@1.71.1)(typescript@5.4.2)
specifier: '>=4.4.1'
version: 4.4.13(sass@1.71.1)(typescript@5.4.2)
astro-font:
specifier: ^0.0.77
version: 0.0.77
astro-remote:
specifier: 0.3.2
version: 0.3.2
typescript:
specifier: ^5.4.2
version: 5.4.2
@ -147,7 +147,7 @@ importers:
dependencies:
'@astrojs/tailwind':
specifier: ^5.1.0
version: 5.1.0(astro@4.3.7)(tailwindcss@3.4.1)
version: 5.1.0(astro@4.4.13)(tailwindcss@3.4.1)
'@catppuccin/tailwindcss':
specifier: 0.1.6
version: 0.1.6(tailwindcss@3.4.1)
@ -161,17 +161,23 @@ importers:
specifier: ^0.5.10
version: 0.5.10(tailwindcss@3.4.1)
astro:
specifier: ^4.2.1
version: 4.3.7(sass@1.71.1)(typescript@5.4.2)
specifier: '>=4.4.0'
version: 4.4.13(sass@1.71.1)(typescript@5.4.2)
astro-navbar:
specifier: ^2.3.1
version: 2.3.1
astro-remote:
specifier: ^0.3.2
version: 0.3.2
astro-seo:
specifier: ^0.8.3
version: 0.8.3(typescript@5.4.2)
tailwindcss:
specifier: ^3.3.5
version: 3.4.1
ultrahtml:
specifier: 1.5.3
version: 1.5.3
packages/astro-ghostcms-rendercontent:
dependencies:
@ -184,26 +190,32 @@ importers:
devDependencies:
astro:
specifier: 4.4.13
version: 4.4.13(typescript@5.4.2)
version: 4.4.13(sass@1.71.1)(typescript@5.4.2)
packages/astro-ghostcms-theme-default:
dependencies:
'@matthiesenxyz/astro-ghostcms':
specifier: ^3.3.1
version: link:../astro-ghostcms
astro:
specifier: ^4.2.1
version: 4.3.7(sass@1.71.1)(typescript@5.4.2)
specifier: '>=4.4.0'
version: 4.4.13(sass@1.71.1)(typescript@5.4.2)
astro-font:
specifier: ^0.0.77
version: 0.0.77
astro-remote:
specifier: ^0.3.2
version: 0.3.2
sass:
specifier: ^1.71.1
version: 1.71.1
ultrahtml:
specifier: ^1.5.3
version: 1.5.3
devDependencies:
'@astrojs/check':
specifier: ^0.5.6
version: 0.5.6(typescript@5.4.2)
'@matthiesenxyz/astro-ghostcms':
specifier: '*'
version: link:../astro-ghostcms
typescript:
specifier: ^5.4.2
version: 5.4.2
@ -247,6 +259,9 @@ importers:
'@astrojs/rss':
specifier: ^4.0.5
version: 4.0.5
'@matthiesenxyz/astro-gists':
specifier: ^0.2.1
version: 0.2.1(astro@4.4.13)
'@ts-ghost/content-api':
specifier: ^4.0.12
version: 4.0.12
@ -256,6 +271,12 @@ importers:
astro-integration-kit:
specifier: ^0.5.1
version: 0.5.1(astro@4.4.13)
astro-remote:
specifier: ^0.3.2
version: 0.3.2
ultrahtml:
specifier: ^1.5.3
version: 1.5.3
vite:
specifier: ^5.1.5
version: 5.1.5(sass@1.71.1)
@ -268,7 +289,7 @@ importers:
version: 0.21.1(astro@4.4.13)
astro:
specifier: ^4.4.13
version: 4.4.13(typescript@5.4.2)
version: 4.4.13(sass@1.71.1)(typescript@5.4.2)
vitest:
specifier: ^1.3.1
version: 1.3.1(@vitest/ui@1.3.1)
@ -287,6 +308,9 @@ importers:
'@matthiesenxyz/astro-ghostcms-brutalbyelian':
specifier: workspace:*
version: link:../../packages/astro-ghostcms-brutalbyelian
'@matthiesenxyz/astro-ghostcms-catppuccin':
specifier: workspace:*
version: link:../../packages/astro-ghostcms-catppuccin
'@matthiesenxyz/astro-ghostcms-theme-default':
specifier: workspace:*
version: link:../../packages/astro-ghostcms-theme-default
@ -295,7 +319,7 @@ importers:
version: 0.58.5(vite@5.1.5)
astro:
specifier: ^4.4.13
version: 4.4.13(typescript@5.4.2)
version: 4.4.13(sass@1.71.1)(typescript@5.4.2)
tailwindcss:
specifier: ^3.3.5
version: 3.4.1
@ -320,7 +344,7 @@ importers:
version: link:../../packages/starlight-ghostcms
astro:
specifier: ^4.4.13
version: 4.4.13(typescript@5.4.2)
version: 4.4.13(sass@1.71.1)(typescript@5.4.2)
sharp:
specifier: ^0.33.2
version: 0.33.2
@ -439,7 +463,7 @@ packages:
'@astrojs/markdown-remark': 4.2.1
'@mdx-js/mdx': 3.0.1
acorn: 8.11.3
astro: 4.4.13(typescript@5.4.2)
astro: 4.4.13(sass@1.71.1)(typescript@5.4.2)
es-module-lexer: 1.4.1
estree-util-visit: 2.0.0
github-slugger: 2.0.0
@ -484,7 +508,7 @@ packages:
'@pagefind/default-ui': 1.0.4
'@types/hast': 3.0.4
'@types/mdast': 4.0.3
astro: 4.4.13(typescript@5.4.2)
astro: 4.4.13(sass@1.71.1)(typescript@5.4.2)
astro-expressive-code: 0.33.4(astro@4.4.13)
bcp-47: 2.1.0
hast-util-from-html: 2.0.1
@ -503,28 +527,13 @@ packages:
transitivePeerDependencies:
- supports-color
/@astrojs/tailwind@5.1.0(astro@4.3.7)(tailwindcss@3.4.1):
resolution: {integrity: sha512-BJoCDKuWhU9FT2qYg+fr6Nfb3qP4ShtyjXGHKA/4mHN94z7BGcmauQK23iy+YH5qWvTnhqkd6mQPQ1yTZTe9Ig==}
peerDependencies:
astro: ^3.0.0 || ^4.0.0
tailwindcss: ^3.0.24
dependencies:
astro: 4.3.7(sass@1.71.1)(typescript@5.4.2)
autoprefixer: 10.4.17(postcss@8.4.35)
postcss: 8.4.35
postcss-load-config: 4.0.2(postcss@8.4.35)
tailwindcss: 3.4.1
transitivePeerDependencies:
- ts-node
dev: false
/@astrojs/tailwind@5.1.0(astro@4.4.13)(tailwindcss@3.4.1):
resolution: {integrity: sha512-BJoCDKuWhU9FT2qYg+fr6Nfb3qP4ShtyjXGHKA/4mHN94z7BGcmauQK23iy+YH5qWvTnhqkd6mQPQ1yTZTe9Ig==}
peerDependencies:
astro: ^3.0.0 || ^4.0.0
tailwindcss: ^3.0.24
dependencies:
astro: 4.4.13(typescript@5.4.2)
astro: 4.4.13(sass@1.71.1)(typescript@5.4.2)
autoprefixer: 10.4.17(postcss@8.4.35)
postcss: 8.4.35
postcss-load-config: 4.0.2(postcss@8.4.35)
@ -1392,6 +1401,13 @@ packages:
'@expressive-code/core': 0.33.4
hastscript: 7.2.0
/@expressive-code/plugin-line-numbers@0.33.4:
resolution: {integrity: sha512-+AIxeufcutV1+0sAtXsTEcma7uxKQK2F7qfQYWHYp0PW6QxLXkMYP7aGfuIFPsfovKEe+EmFKXKhEwYnraK7yQ==}
dependencies:
'@expressive-code/core': 0.33.4
hastscript: 7.2.0
dev: false
/@expressive-code/plugin-shiki@0.33.4:
resolution: {integrity: sha512-XnDchHqCGk046hgQnu83t9+SDrRjsvpvUEBiI0wl4RljVDr1E0yllx0y6C1yEuKfFfasib6BxX/PkItgQdi/0Q==}
dependencies:
@ -1707,6 +1723,35 @@ packages:
globby: 11.1.0
read-yaml-file: 1.1.0
/@matthiesenxyz/astro-gists@0.2.1(astro@4.4.13):
resolution: {integrity: sha512-6fZTZxnfQExNBlFdzecC/fdyonbhhAUfU7Pva4wMIN0lABAw480aobOqsY3NpI3D8VWafpKochqoNZjOIn7uIQ==}
peerDependencies:
astro: ^4.4.1
dependencies:
'@expressive-code/plugin-line-numbers': 0.33.4
'@octokit/types': 12.6.0
astro: 4.4.13(sass@1.71.1)(typescript@5.4.2)
astro-integration-kit: 0.5.1(astro@4.4.13)
expressive-code: 0.33.4
hast-util-to-html: 8.0.4
octokit: 3.1.2
vite: 5.1.5(sass@1.71.1)
transitivePeerDependencies:
- '@types/node'
- '@vitejs/plugin-react'
- less
- lightningcss
- preact
- react
- sass
- solid-js
- stylus
- sugarss
- svelte
- terser
- vue
dev: false
/@mdx-js/mdx@3.0.1:
resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==}
dependencies:
@ -1757,6 +1802,242 @@ packages:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
/@octokit/app@14.0.2:
resolution: {integrity: sha512-NCSCktSx+XmjuSUVn2dLfqQ9WIYePGP95SDJs4I9cn/0ZkeXcPkaoCLl64Us3dRKL2ozC7hArwze5Eu+/qt1tg==}
engines: {node: '>= 18'}
dependencies:
'@octokit/auth-app': 6.0.4
'@octokit/auth-unauthenticated': 5.0.1
'@octokit/core': 5.1.0
'@octokit/oauth-app': 6.1.0
'@octokit/plugin-paginate-rest': 9.2.1(@octokit/core@5.1.0)
'@octokit/types': 12.6.0
'@octokit/webhooks': 12.1.2
dev: false
/@octokit/auth-app@6.0.4:
resolution: {integrity: sha512-TPmJYgd05ok3nzHj7Y6we/V7Ez1wU3ztLFW3zo/afgYFtqYZg0W7zb6Kp5ag6E85r8nCE1JfS6YZoZusa14o9g==}
engines: {node: '>= 18'}
dependencies:
'@octokit/auth-oauth-app': 7.0.1
'@octokit/auth-oauth-user': 4.0.1
'@octokit/request': 8.2.0
'@octokit/request-error': 5.0.1
'@octokit/types': 12.6.0
deprecation: 2.3.1
lru-cache: 10.2.0
universal-github-app-jwt: 1.1.2
universal-user-agent: 6.0.1
dev: false
/@octokit/auth-oauth-app@7.0.1:
resolution: {integrity: sha512-RE0KK0DCjCHXHlQBoubwlLijXEKfhMhKm9gO56xYvFmP1QTMb+vvwRPmQLLx0V+5AvV9N9I3lr1WyTzwL3rMDg==}
engines: {node: '>= 18'}
dependencies:
'@octokit/auth-oauth-device': 6.0.1
'@octokit/auth-oauth-user': 4.0.1
'@octokit/request': 8.2.0
'@octokit/types': 12.6.0
'@types/btoa-lite': 1.0.2
btoa-lite: 1.0.0
universal-user-agent: 6.0.1
dev: false
/@octokit/auth-oauth-device@6.0.1:
resolution: {integrity: sha512-yxU0rkL65QkjbqQedgVx3gmW7YM5fF+r5uaSj9tM/cQGVqloXcqP2xK90eTyYvl29arFVCW8Vz4H/t47mL0ELw==}
engines: {node: '>= 18'}
dependencies:
'@octokit/oauth-methods': 4.0.1
'@octokit/request': 8.2.0
'@octokit/types': 12.6.0
universal-user-agent: 6.0.1
dev: false
/@octokit/auth-oauth-user@4.0.1:
resolution: {integrity: sha512-N94wWW09d0hleCnrO5wt5MxekatqEJ4zf+1vSe8MKMrhZ7gAXKFOKrDEZW2INltvBWJCyDUELgGRv8gfErH1Iw==}
engines: {node: '>= 18'}
dependencies:
'@octokit/auth-oauth-device': 6.0.1
'@octokit/oauth-methods': 4.0.1
'@octokit/request': 8.2.0
'@octokit/types': 12.6.0
btoa-lite: 1.0.0
universal-user-agent: 6.0.1
dev: false
/@octokit/auth-token@4.0.0:
resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==}
engines: {node: '>= 18'}
dev: false
/@octokit/auth-unauthenticated@5.0.1:
resolution: {integrity: sha512-oxeWzmBFxWd+XolxKTc4zr+h3mt+yofn4r7OfoIkR/Cj/o70eEGmPsFbueyJE2iBAGpjgTnEOKM3pnuEGVmiqg==}
engines: {node: '>= 18'}
dependencies:
'@octokit/request-error': 5.0.1
'@octokit/types': 12.6.0
dev: false
/@octokit/core@5.1.0:
resolution: {integrity: sha512-BDa2VAMLSh3otEiaMJ/3Y36GU4qf6GI+VivQ/P41NC6GHcdxpKlqV0ikSZ5gdQsmS3ojXeRx5vasgNTinF0Q4g==}
engines: {node: '>= 18'}
dependencies:
'@octokit/auth-token': 4.0.0
'@octokit/graphql': 7.0.2
'@octokit/request': 8.2.0
'@octokit/request-error': 5.0.1
'@octokit/types': 12.6.0
before-after-hook: 2.2.3
universal-user-agent: 6.0.1
dev: false
/@octokit/endpoint@9.0.4:
resolution: {integrity: sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==}
engines: {node: '>= 18'}
dependencies:
'@octokit/types': 12.6.0
universal-user-agent: 6.0.1
dev: false
/@octokit/graphql@7.0.2:
resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==}
engines: {node: '>= 18'}
dependencies:
'@octokit/request': 8.2.0
'@octokit/types': 12.6.0
universal-user-agent: 6.0.1
dev: false
/@octokit/oauth-app@6.1.0:
resolution: {integrity: sha512-nIn/8eUJ/BKUVzxUXd5vpzl1rwaVxMyYbQkNZjHrF7Vk/yu98/YDF/N2KeWO7uZ0g3b5EyiFXFkZI8rJ+DH1/g==}
engines: {node: '>= 18'}
dependencies:
'@octokit/auth-oauth-app': 7.0.1
'@octokit/auth-oauth-user': 4.0.1
'@octokit/auth-unauthenticated': 5.0.1
'@octokit/core': 5.1.0
'@octokit/oauth-authorization-url': 6.0.2
'@octokit/oauth-methods': 4.0.1
'@types/aws-lambda': 8.10.136
universal-user-agent: 6.0.1
dev: false
/@octokit/oauth-authorization-url@6.0.2:
resolution: {integrity: sha512-CdoJukjXXxqLNK4y/VOiVzQVjibqoj/xHgInekviUJV73y/BSIcwvJ/4aNHPBPKcPWFnd4/lO9uqRV65jXhcLA==}
engines: {node: '>= 18'}
dev: false
/@octokit/oauth-methods@4.0.1:
resolution: {integrity: sha512-1NdTGCoBHyD6J0n2WGXg9+yDLZrRNZ0moTEex/LSPr49m530WNKcCfXDghofYptr3st3eTii+EHoG5k/o+vbtw==}
engines: {node: '>= 18'}
dependencies:
'@octokit/oauth-authorization-url': 6.0.2
'@octokit/request': 8.2.0
'@octokit/request-error': 5.0.1
'@octokit/types': 12.6.0
btoa-lite: 1.0.0
dev: false
/@octokit/openapi-types@20.0.0:
resolution: {integrity: sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==}
dev: false
/@octokit/plugin-paginate-graphql@4.0.1(@octokit/core@5.1.0):
resolution: {integrity: sha512-R8ZQNmrIKKpHWC6V2gum4x9LG2qF1RxRjo27gjQcG3j+vf2tLsEfE7I/wRWEPzYMaenr1M+qDAtNcwZve1ce1A==}
engines: {node: '>= 18'}
peerDependencies:
'@octokit/core': '>=5'
dependencies:
'@octokit/core': 5.1.0
dev: false
/@octokit/plugin-paginate-rest@9.2.1(@octokit/core@5.1.0):
resolution: {integrity: sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==}
engines: {node: '>= 18'}
peerDependencies:
'@octokit/core': '5'
dependencies:
'@octokit/core': 5.1.0
'@octokit/types': 12.6.0
dev: false
/@octokit/plugin-rest-endpoint-methods@10.4.1(@octokit/core@5.1.0):
resolution: {integrity: sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==}
engines: {node: '>= 18'}
peerDependencies:
'@octokit/core': '5'
dependencies:
'@octokit/core': 5.1.0
'@octokit/types': 12.6.0
dev: false
/@octokit/plugin-retry@6.0.1(@octokit/core@5.1.0):
resolution: {integrity: sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==}
engines: {node: '>= 18'}
peerDependencies:
'@octokit/core': '>=5'
dependencies:
'@octokit/core': 5.1.0
'@octokit/request-error': 5.0.1
'@octokit/types': 12.6.0
bottleneck: 2.19.5
dev: false
/@octokit/plugin-throttling@8.2.0(@octokit/core@5.1.0):
resolution: {integrity: sha512-nOpWtLayKFpgqmgD0y3GqXafMFuKcA4tRPZIfu7BArd2lEZeb1988nhWhwx4aZWmjDmUfdgVf7W+Tt4AmvRmMQ==}
engines: {node: '>= 18'}
peerDependencies:
'@octokit/core': ^5.0.0
dependencies:
'@octokit/core': 5.1.0
'@octokit/types': 12.6.0
bottleneck: 2.19.5
dev: false
/@octokit/request-error@5.0.1:
resolution: {integrity: sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==}
engines: {node: '>= 18'}
dependencies:
'@octokit/types': 12.6.0
deprecation: 2.3.1
once: 1.4.0
dev: false
/@octokit/request@8.2.0:
resolution: {integrity: sha512-exPif6x5uwLqv1N1irkLG1zZNJkOtj8bZxuVHd71U5Ftuxf2wGNvAJyNBcPbPC+EBzwYEbBDdSFb8EPcjpYxPQ==}
engines: {node: '>= 18'}
dependencies:
'@octokit/endpoint': 9.0.4
'@octokit/request-error': 5.0.1
'@octokit/types': 12.6.0
universal-user-agent: 6.0.1
dev: false
/@octokit/types@12.6.0:
resolution: {integrity: sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==}
dependencies:
'@octokit/openapi-types': 20.0.0
dev: false
/@octokit/webhooks-methods@4.1.0:
resolution: {integrity: sha512-zoQyKw8h9STNPqtm28UGOYFE7O6D4Il8VJwhAtMHFt2C4L0VQT1qGKLeefUOqHNs1mNRYSadVv7x0z8U2yyeWQ==}
engines: {node: '>= 18'}
dev: false
/@octokit/webhooks-types@7.3.2:
resolution: {integrity: sha512-JWOoOgtWTFnTSAamPXXyjTY5/apttvNxF+vPBnwdSu5cj5snrd7FO0fyw4+wTXy8fHduq626JjhO+TwCyyA6vA==}
dev: false
/@octokit/webhooks@12.1.2:
resolution: {integrity: sha512-+nGS3ReCByF6m+nbNB59x7Aa3CNjCCGuBLFzfkiJP1O3uVKKuJbkP4uO4t46YqH26nlugmOhqjT7nx5D0VPtdA==}
engines: {node: '>= 18'}
dependencies:
'@octokit/request-error': 5.0.1
'@octokit/webhooks-methods': 4.1.0
'@octokit/webhooks-types': 7.3.2
aggregate-error: 3.1.0
dev: false
/@pagefind/darwin-arm64@1.0.4:
resolution: {integrity: sha512-2OcthvceX2xhm5XbgOmW+lT45oLuHqCmvFeFtxh1gsuP5cO8vcD8ZH8Laj4pXQFCcK6eAdSShx+Ztx/LsQWZFQ==}
cpu: [arm64]
@ -2108,6 +2389,10 @@ packages:
dependencies:
'@types/estree': 1.0.5
/@types/aws-lambda@8.10.136:
resolution: {integrity: sha512-cmmgqxdVGhxYK9lZMYYXYRJk6twBo53ivtXjIUEFZxfxe4TkZTZBK3RRWrY2HjJcUIix0mdifn15yjOAat5lTA==}
dev: false
/@types/babel__core@7.20.5:
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
dependencies:
@ -2133,6 +2418,10 @@ packages:
dependencies:
'@babel/types': 7.23.9
/@types/btoa-lite@1.0.2:
resolution: {integrity: sha512-ZYbcE2x7yrvNFJiU7xJGrpF/ihpkM7zKgw8bha3LNJSesvTtUNxbpzaT7WXBIryf6jovisrxTBvymxMeLLj1Mg==}
dev: false
/@types/debug@4.1.12:
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
dependencies:
@ -2175,6 +2464,12 @@ packages:
'@types/node': 20.11.25
dev: true
/@types/jsonwebtoken@9.0.6:
resolution: {integrity: sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw==}
dependencies:
'@types/node': 20.11.25
dev: false
/@types/mdast@4.0.3:
resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==}
dependencies:
@ -2659,6 +2954,14 @@ packages:
engines: {node: '>=0.4.0'}
hasBin: true
/aggregate-error@3.1.0:
resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
engines: {node: '>=8'}
dependencies:
clean-stack: 2.2.0
indent-string: 4.0.0
dev: false
/ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
dependencies:
@ -2835,7 +3138,7 @@ packages:
peerDependencies:
astro: ^3.3.0 || ^4.0.0-beta
dependencies:
astro: 4.4.13(typescript@5.4.2)
astro: 4.4.13(sass@1.71.1)(typescript@5.4.2)
hast-util-to-html: 8.0.4
remark-expressive-code: 0.33.4
@ -2867,7 +3170,7 @@ packages:
vue:
optional: true
dependencies:
astro: 4.4.13(typescript@5.4.2)
astro: 4.4.13(sass@1.71.1)(typescript@5.4.2)
pathe: 1.1.2
recast: 0.23.5
dev: false
@ -2905,6 +3208,17 @@ packages:
resolution: {integrity: sha512-lLvhWS03Qc3heMU23adFwEnBUJFlL6gxYi0xPvIyX1atb2oCov4kOS/MaWOPGnvj2nK63szebUzlG+NdIoUZzQ==}
dev: false
/astro-remote@0.3.2:
resolution: {integrity: sha512-Xwm6Y+ldQEnDB2l1WwVqeUs3QvUX8LtJWnovpXlf8xhpicPu159jXOhDbHZS9wilGO/+/nR67A1qskF8pDvdGQ==}
engines: {node: '>=18.14.1'}
dependencies:
entities: 4.5.0
marked: 12.0.1
marked-footnote: 1.2.2(marked@12.0.1)
marked-smartypants: 1.1.6(marked@12.0.1)
ultrahtml: 1.5.3
dev: false
/astro-robots-txt@1.0.0:
resolution: {integrity: sha512-6JQSLid4gMhoWjOm85UHLkgrw0+hHIjnJVIUqxjU2D6feKlVyYukMNYjH44ZDZBK1P8hNxd33PgWlHzCASvedA==}
dependencies:
@ -2922,91 +3236,7 @@ packages:
- typescript
dev: false
/astro@4.3.7(sass@1.71.1)(typescript@5.4.2):
resolution: {integrity: sha512-spdl+Ae6WZjQ0w8VBPq8ulN1hdN0m4EWvKG7ecgHjPQIHidMnzWJoZLEFEeKASqCGB1fDibqr7RDHoHkhZbp2Q==}
engines: {node: '>=18.14.1', npm: '>=6.14.0'}
hasBin: true
dependencies:
'@astrojs/compiler': 2.5.3
'@astrojs/internal-helpers': 0.2.1
'@astrojs/markdown-remark': 4.2.1
'@astrojs/telemetry': 3.0.4
'@babel/core': 7.23.9
'@babel/generator': 7.23.6
'@babel/parser': 7.23.9
'@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9)
'@babel/traverse': 7.23.9
'@babel/types': 7.23.9
'@types/babel__core': 7.20.5
acorn: 8.11.3
aria-query: 5.3.0
axobject-query: 4.0.0
boxen: 7.1.1
chokidar: 3.6.0
ci-info: 4.0.0
clsx: 2.1.0
common-ancestor-path: 1.0.1
cookie: 0.6.0
cssesc: 3.0.0
debug: 4.3.4
deterministic-object-hash: 2.0.2
devalue: 4.3.2
diff: 5.2.0
dlv: 1.1.3
dset: 3.1.3
es-module-lexer: 1.4.1
esbuild: 0.19.12
estree-walker: 3.0.3
execa: 8.0.1
fast-glob: 3.3.2
flattie: 1.1.0
github-slugger: 2.0.0
gray-matter: 4.0.3
html-escaper: 3.0.3
http-cache-semantics: 4.1.1
js-yaml: 4.1.0
kleur: 4.1.5
magic-string: 0.30.7
mdast-util-to-hast: 13.0.2
mime: 3.0.0
ora: 7.0.1
p-limit: 5.0.0
p-queue: 8.0.1
path-to-regexp: 6.2.1
preferred-pm: 3.1.2
probe-image-size: 7.2.3
prompts: 2.4.2
rehype: 13.0.1
resolve: 1.22.8
semver: 7.6.0
server-destroy: 1.0.1
shikiji: 0.9.19
shikiji-core: 0.9.19
string-width: 7.1.0
strip-ansi: 7.1.0
tsconfck: 3.0.2(typescript@5.4.2)
unist-util-visit: 5.0.0
vfile: 6.0.1
vite: 5.1.5(sass@1.71.1)
vitefu: 0.2.5(vite@5.1.5)
which-pm: 2.1.1
yargs-parser: 21.1.1
zod: 3.22.4
optionalDependencies:
sharp: 0.32.6
transitivePeerDependencies:
- '@types/node'
- less
- lightningcss
- sass
- stylus
- sugarss
- supports-color
- terser
- typescript
dev: false
/astro@4.4.13(typescript@5.4.2):
/astro@4.4.13(sass@1.71.1)(typescript@5.4.2):
resolution: {integrity: sha512-kx2k2DJd9Os15zJBo8fK01/2F7/4wH6sAKmlBHlkGHIFm6CKSSzWCK/IWQ0DybNWtthK9A3HDZ4VYWv0BJDOBg==}
engines: {node: '>=18.14.1', npm: '>=6.14.0'}
hasBin: true
@ -3282,6 +3512,10 @@ packages:
is-alphanumerical: 2.0.1
is-decimal: 2.0.1
/before-after-hook@2.2.3:
resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==}
dev: false
/better-path-resolve@1.0.0:
resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==}
engines: {node: '>=4'}
@ -3311,6 +3545,10 @@ packages:
/boolbase@1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
/bottleneck@2.19.5:
resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==}
dev: false
/boxen@7.1.1:
resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==}
engines: {node: '>=14.16'}
@ -3357,6 +3595,14 @@ packages:
node-releases: 2.0.14
update-browserslist-db: 1.0.13(browserslist@4.23.0)
/btoa-lite@1.0.0:
resolution: {integrity: sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==}
dev: false
/buffer-equal-constant-time@1.0.1:
resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==}
dev: false
/buffer@5.7.1:
resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
requiresBuild: true
@ -3501,6 +3747,11 @@ packages:
resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
engines: {node: '>=8'}
/clean-stack@2.2.0:
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
engines: {node: '>=6'}
dev: false
/cli-boxes@3.0.0:
resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
engines: {node: '>=10'}
@ -3690,28 +3941,6 @@ packages:
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
dev: true
/debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
dependencies:
ms: 2.0.0
dev: false
/debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
dependencies:
ms: 2.1.3
dev: false
/debug@4.3.4:
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
engines: {node: '>=6.0'}
@ -3786,6 +4015,10 @@ packages:
/defu@6.1.4:
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
/deprecation@2.3.1:
resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
dev: false
/dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
@ -3859,6 +4092,12 @@ packages:
/eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
/ecdsa-sig-formatter@1.0.11:
resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==}
dependencies:
safe-buffer: 5.2.1
dev: false
/electron-to-chromium@1.4.670:
resolution: {integrity: sha512-hcijYOWjOtjKrKPtNA6tuLlA/bTLO3heFG8pQA6mLpq7dRydSWicXova5lyxDzp1iVJaYhK7J2OQlGE52KYn7A==}
@ -5322,6 +5561,22 @@ packages:
graceful-fs: 4.2.11
dev: false
/jsonwebtoken@9.0.2:
resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==}
engines: {node: '>=12', npm: '>=6'}
dependencies:
jws: 3.2.2
lodash.includes: 4.3.0
lodash.isboolean: 3.0.3
lodash.isinteger: 4.0.4
lodash.isnumber: 3.0.3
lodash.isplainobject: 4.0.6
lodash.isstring: 4.0.1
lodash.once: 4.1.1
ms: 2.1.3
semver: 7.6.0
dev: false
/jsx-ast-utils@3.3.5:
resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
engines: {node: '>=4.0'}
@ -5332,6 +5587,21 @@ packages:
object.values: 1.1.7
dev: true
/jwa@1.4.1:
resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==}
dependencies:
buffer-equal-constant-time: 1.0.1
ecdsa-sig-formatter: 1.0.11
safe-buffer: 5.2.1
dev: false
/jws@3.2.2:
resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==}
dependencies:
jwa: 1.4.1
safe-buffer: 5.2.1
dev: false
/keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
dependencies:
@ -5430,13 +5700,37 @@ packages:
resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==}
dev: false
/lodash.includes@4.3.0:
resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==}
dev: false
/lodash.isboolean@3.0.3:
resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==}
dev: false
/lodash.isinteger@4.0.4:
resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==}
dev: false
/lodash.isnumber@3.0.3:
resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==}
dev: false
/lodash.isplainobject@4.0.6:
resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
dev: false
/lodash.isstring@4.0.1:
resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==}
dev: false
/lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
/lodash.once@4.1.1:
resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==}
dev: false
/lodash.startcase@4.4.0:
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
@ -5499,6 +5793,29 @@ packages:
/markdown-table@3.0.3:
resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
/marked-footnote@1.2.2(marked@12.0.1):
resolution: {integrity: sha512-TFBEHwHLSSedub7P6XHHs+dMMOnDeNV5+kFDo4trU//gDd8iM57lg9jr9NGwDifPwLllHwKmFcRNp5uYvO2Fnw==}
peerDependencies:
marked: '>=7.0.0'
dependencies:
marked: 12.0.1
dev: false
/marked-smartypants@1.1.6(marked@12.0.1):
resolution: {integrity: sha512-38rdxcV3+EHrvoHioSrgBDvOmFb+TNcszZggrl15qe4MEfQxBArfSgsGgFP0YqHlGy8Rgoyi4gN4ThBWzwNJeA==}
peerDependencies:
marked: '>=4 <13'
dependencies:
marked: 12.0.1
smartypants: 0.2.2
dev: false
/marked@12.0.1:
resolution: {integrity: sha512-Y1/V2yafOcOdWQCX0XpAKXzDakPOpn6U0YLxTJs3cww6VxOzZV1BTOOYWLvH3gX38cq+iLwljHHTnMtlDfg01Q==}
engines: {node: '>= 18'}
hasBin: true
dev: false
/mdast-util-definitions@6.0.0:
resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==}
dependencies:
@ -6113,10 +6430,6 @@ packages:
resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
engines: {node: '>=10'}
/ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
dev: false
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
@ -6149,18 +6462,6 @@ packages:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true
/needle@2.9.1:
resolution: {integrity: sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==}
engines: {node: '>= 4.4.x'}
hasBin: true
dependencies:
debug: 3.2.7
iconv-lite: 0.4.24
sax: 1.3.0
transitivePeerDependencies:
- supports-color
dev: false
/nlcst-to-string@3.1.1:
resolution: {integrity: sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==}
dependencies:
@ -6287,6 +6588,22 @@ packages:
es-abstract: 1.22.4
dev: true
/octokit@3.1.2:
resolution: {integrity: sha512-MG5qmrTL5y8KYwFgE1A4JWmgfQBaIETE/lOlfwNYx1QOtCQHGVxkRJmdUJltFc1HVn73d61TlMhMyNTOtMl+ng==}
engines: {node: '>= 18'}
dependencies:
'@octokit/app': 14.0.2
'@octokit/core': 5.1.0
'@octokit/oauth-app': 6.1.0
'@octokit/plugin-paginate-graphql': 4.0.1(@octokit/core@5.1.0)
'@octokit/plugin-paginate-rest': 9.2.1(@octokit/core@5.1.0)
'@octokit/plugin-rest-endpoint-methods': 10.4.1(@octokit/core@5.1.0)
'@octokit/plugin-retry': 6.0.1(@octokit/core@5.1.0)
'@octokit/plugin-throttling': 8.2.0(@octokit/core@5.1.0)
'@octokit/request-error': 5.0.1
'@octokit/types': 12.6.0
dev: false
/ofetch@1.3.3:
resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==}
dependencies:
@ -6704,16 +7021,6 @@ packages:
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
engines: {node: '>=6'}
/probe-image-size@7.2.3:
resolution: {integrity: sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==}
dependencies:
lodash.merge: 4.6.2
needle: 2.9.1
stream-parser: 0.3.1
transitivePeerDependencies:
- supports-color
dev: false
/prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
@ -7165,10 +7472,6 @@ packages:
dependencies:
lru-cache: 6.0.0
/server-destroy@1.0.1:
resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==}
dev: false
/set-blocking@2.0.0:
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
@ -7346,6 +7649,11 @@ packages:
wcwidth: 1.0.1
yargs: 15.4.1
/smartypants@0.2.2:
resolution: {integrity: sha512-TzobUYoEft/xBtb2voRPryAUIvYguG0V7Tt3de79I1WfXgCwelqVsGuZSnu3GFGRZhXR90AeEYIM+icuB/S06Q==}
hasBin: true
dev: false
/source-map-js@1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
@ -7403,14 +7711,6 @@ packages:
dependencies:
bl: 5.1.0
/stream-parser@0.3.1:
resolution: {integrity: sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==}
dependencies:
debug: 2.6.9
transitivePeerDependencies:
- supports-color
dev: false
/stream-transform@2.1.3:
resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==}
dependencies:
@ -8028,6 +8328,17 @@ packages:
unist-util-is: 6.0.0
unist-util-visit-parents: 6.0.1
/universal-github-app-jwt@1.1.2:
resolution: {integrity: sha512-t1iB2FmLFE+yyJY9+3wMx0ejB+MQpEVkH0gQv7dR6FZyltyq+ZZO0uDpbopxhrZ3SLEO4dCEkIujOMldEQ2iOA==}
dependencies:
'@types/jsonwebtoken': 9.0.6
jsonwebtoken: 9.0.2
dev: false
/universal-user-agent@6.0.1:
resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==}
dev: false
/universalify@0.1.2:
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
engines: {node: '>= 4.0.0'}