mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
Add RSS and JSON feeds
This commit is contained in:
@@ -38,6 +38,7 @@
|
|||||||
"remark-wiki-link": "^0.0.4",
|
"remark-wiki-link": "^0.0.4",
|
||||||
"rollup": "^4.18.0",
|
"rollup": "^4.18.0",
|
||||||
"rollup-plugin-type-as-json-schema": "^0.2.6",
|
"rollup-plugin-type-as-json-schema": "^0.2.6",
|
||||||
|
"rollup-plugin-visualizer": "^5.12.0",
|
||||||
"sharp": "^0.33.4",
|
"sharp": "^0.33.4",
|
||||||
"svelte": "^4.2.18",
|
"svelte": "^4.2.18",
|
||||||
"svelte-check": "^3.8.0",
|
"svelte-check": "^3.8.0",
|
||||||
|
|||||||
@@ -2,7 +2,14 @@
|
|||||||
import Hero from "$lib/Hero.svelte";
|
import Hero from "$lib/Hero.svelte";
|
||||||
import SvelteSeo from "svelte-seo";
|
import SvelteSeo from "svelte-seo";
|
||||||
import Homepage from "Notes/Website Homepage.md";
|
import Homepage from "Notes/Website Homepage.md";
|
||||||
|
import { SITE_URL, SITE_TITLE } from "$lib/metadata";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<svelte:head>
|
||||||
|
<link rel="alternate" type="application/rss+xml" title={SITE_TITLE} href={SITE_URL + "/blog/rss.xml"}>
|
||||||
|
<link rel="alternate" type="application/feed+json" title={SITE_TITLE} href={SITE_URL + "/blog/feed.json"}>
|
||||||
|
</svelte:head>
|
||||||
|
|
||||||
<SvelteSeo
|
<SvelteSeo
|
||||||
title="Jade Ellis"
|
title="Jade Ellis"
|
||||||
description="Student, Creative & Computer Scientist. See what I'm doing."
|
description="Student, Creative & Computer Scientist. See what I'm doing."
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { page } from "$app/stores";
|
import { page } from "$app/stores";
|
||||||
import { SITE_URL } from "$lib/metadata";
|
import { SITE_URL, SITE_TITLE } from "$lib/metadata";
|
||||||
import SvelteSeo from "svelte-seo";
|
import SvelteSeo from "svelte-seo";
|
||||||
|
|
||||||
export let data;
|
export let data;
|
||||||
@@ -8,6 +8,11 @@
|
|||||||
// $: console.log(data);
|
// $: console.log(data);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<svelte:head>
|
||||||
|
<link rel="alternate" type="application/rss+xml" title={SITE_TITLE} href={SITE_URL + "/blog/rss.xml"}>
|
||||||
|
<link rel="alternate" type="application/feed+json" title={SITE_TITLE} href={SITE_URL + "/blog/feed.json"}>
|
||||||
|
</svelte:head>
|
||||||
|
|
||||||
<SvelteSeo
|
<SvelteSeo
|
||||||
title=""
|
title=""
|
||||||
canonical={SITE_URL + "/blog"} />
|
canonical={SITE_URL + "/blog"} />
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
import { browser } from "$app/environment";
|
import { browser } from "$app/environment";
|
||||||
import SvelteSeo from "svelte-seo";
|
import SvelteSeo from "svelte-seo";
|
||||||
export let data;
|
export let data;
|
||||||
import { SITE_URL } from "$lib/metadata";
|
import { SITE_URL, SITE_TITLE } from "$lib/metadata";
|
||||||
import Toc from "$lib/Toc.svelte";
|
import Toc from "$lib/Toc.svelte";
|
||||||
// let GhReleasesDownload: Promise<any>;
|
// let GhReleasesDownload: Promise<any>;
|
||||||
// if (data.ghReleaseData) {
|
// if (data.ghReleaseData) {
|
||||||
@@ -31,6 +31,11 @@
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<svelte:head>
|
||||||
|
<link rel="alternate" type="application/rss+xml" title={SITE_TITLE} href={SITE_URL + "/blog/rss.xml"}>
|
||||||
|
<link rel="alternate" type="application/feed+json" title={SITE_TITLE} href={SITE_URL + "/blog/feed.json"}>
|
||||||
|
</svelte:head>
|
||||||
|
|
||||||
<SvelteSeo
|
<SvelteSeo
|
||||||
title={data.post.title}
|
title={data.post.title}
|
||||||
description={data.post.description}
|
description={data.post.description}
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
import { pages } from '../../posts'
|
||||||
|
|
||||||
|
import type Feed from '@json-feed-types/1_1'
|
||||||
|
import {
|
||||||
|
SITE_DEFAULT_DESCRIPTION,
|
||||||
|
SITE_TITLE,
|
||||||
|
SITE_URL,
|
||||||
|
RSS_DEFAULT_POSTS_PER_PAGE
|
||||||
|
} from '$lib/metadata';
|
||||||
|
|
||||||
|
import { error } from '@sveltejs/kit'
|
||||||
|
// import { base } from '$app/paths';
|
||||||
|
|
||||||
|
export const prerender = true;
|
||||||
|
|
||||||
|
export async function GET({ params, url}) {
|
||||||
|
let dateParts = params.date.split(/[\/-]/).filter((s)=>s.length !== 0).map((p) => parseInt(p, 10))
|
||||||
|
if (dateParts.length > 3) {
|
||||||
|
throw error(404, 'Feed not found (bad date)')
|
||||||
|
}
|
||||||
|
|
||||||
|
const selectedPages = dateParts.length ? pages
|
||||||
|
.filter((post) => {
|
||||||
|
let date = new Date(post.date)
|
||||||
|
return (
|
||||||
|
(!dateParts[0] || date.getFullYear() == dateParts[0]) &&
|
||||||
|
(!dateParts[1] || date.getMonth()+1 == dateParts[1]) &&
|
||||||
|
(!dateParts[2] || date.getDate() == dateParts[2])
|
||||||
|
)
|
||||||
|
}) : pages;
|
||||||
|
const headers = {
|
||||||
|
'Cache-Control': 'max-age=0, s-maxage=3600',
|
||||||
|
'Content-Type': 'application/feed+json'
|
||||||
|
};
|
||||||
|
return new Response(await getJsonFeed(url.href, selectedPages), { headers });
|
||||||
|
}
|
||||||
|
|
||||||
|
const AUTHOR = "Jade Ellis"
|
||||||
|
// prettier-ignore
|
||||||
|
async function getJsonFeed(selfUrl: string, pages: any[]): Promise<string> {
|
||||||
|
|
||||||
|
const feed: Feed = {
|
||||||
|
version: 'https://jsonfeed.org/version/1.1',
|
||||||
|
title: SITE_TITLE,
|
||||||
|
icon: `${SITE_URL}/android-chrome-256x256.png`,
|
||||||
|
home_page_url: SITE_URL,
|
||||||
|
description: SITE_DEFAULT_DESCRIPTION,
|
||||||
|
feed_url: selfUrl,
|
||||||
|
authors: [{ name: AUTHOR }],
|
||||||
|
items: [
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
for await (const post of pages) {
|
||||||
|
const title = post.title;
|
||||||
|
const pubDate = post.date
|
||||||
|
const postUrl = SITE_URL + "/blog/" + post.canonical
|
||||||
|
// const postHtml =
|
||||||
|
const summary = post.description;
|
||||||
|
let item: typeof feed.items[number] = {
|
||||||
|
id: post.postUrl,
|
||||||
|
title,
|
||||||
|
url: postUrl,
|
||||||
|
date_published: pubDate,
|
||||||
|
summary,
|
||||||
|
content_text: "",
|
||||||
|
}
|
||||||
|
feed.items.push(item)
|
||||||
|
}
|
||||||
|
|
||||||
|
return JSON.stringify(feed)
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
import { pages } from '../../posts'
|
||||||
|
|
||||||
|
import {
|
||||||
|
SITE_DEFAULT_DESCRIPTION,
|
||||||
|
SITE_TITLE,
|
||||||
|
SITE_URL,
|
||||||
|
RSS_DEFAULT_POSTS_PER_PAGE
|
||||||
|
} from '$lib/metadata';
|
||||||
|
import rssStyle from "./rss-style.xsl?url"
|
||||||
|
import rssStyleCss from "./styles.css?url"
|
||||||
|
import { create } from 'xmlbuilder2';
|
||||||
|
import { error } from '@sveltejs/kit'
|
||||||
|
// import { base } from '$app/paths';
|
||||||
|
|
||||||
|
export const prerender = true;
|
||||||
|
|
||||||
|
export async function GET({ url, params }) {
|
||||||
|
let dateParts = params.date.split(/[\/-]/).filter((s)=>s.length !== 0).map((p) => parseInt(p, 10))
|
||||||
|
if (dateParts.length > 3) {
|
||||||
|
throw error(404, 'Feed not found (bad date)')
|
||||||
|
}
|
||||||
|
|
||||||
|
const selectedPages = dateParts.length ? pages
|
||||||
|
.filter((post) => {
|
||||||
|
console.log("filtering")
|
||||||
|
let date = new Date(post.date)
|
||||||
|
return (
|
||||||
|
(!dateParts[0] || date.getFullYear() == dateParts[0]) &&
|
||||||
|
(!dateParts[1] || date.getMonth()+1 == dateParts[1]) &&
|
||||||
|
(!dateParts[2] || date.getDate() == dateParts[2])
|
||||||
|
)
|
||||||
|
}) : pages;
|
||||||
|
const headers = {
|
||||||
|
'Cache-Control': 'max-age=0, s-maxage=3600',
|
||||||
|
'Content-Type': 'application/xml'
|
||||||
|
};
|
||||||
|
url.search = "";
|
||||||
|
return new Response(await getRssXml(url.href, selectedPages), { headers });
|
||||||
|
}
|
||||||
|
|
||||||
|
const AUTHOR = "Jade Ellis"
|
||||||
|
// prettier-ignore
|
||||||
|
async function getRssXml(selfUrl: string, pages: any[]): Promise<string> {
|
||||||
|
// const rssUrl = `${SITE_URL}/rss.xml`;
|
||||||
|
const root = create({ version: '1.0', encoding: 'utf-8' })
|
||||||
|
.ins('xml-stylesheet', `type="text/xsl" href="${rssStyle}"`)
|
||||||
|
.ele('feed', {
|
||||||
|
xmlns: 'http://www.w3.org/2005/Atom',
|
||||||
|
"xmlns:jade": 'http://jade.ellis.link',
|
||||||
|
})
|
||||||
|
.ele('jade:link', { rel:"stylesheet", href: rssStyleCss }).up()
|
||||||
|
.ele('title').txt(SITE_TITLE).up()
|
||||||
|
.ele('link', { href: SITE_URL }).up()
|
||||||
|
.ele('link', { rel: 'self', href: selfUrl }).up()
|
||||||
|
.ele('updated').txt(new Date().toISOString()).up()
|
||||||
|
.ele('id').txt(SITE_URL).up()
|
||||||
|
.ele('author')
|
||||||
|
.ele('name').txt(AUTHOR).up()
|
||||||
|
.up()
|
||||||
|
.ele('subtitle').txt(SITE_DEFAULT_DESCRIPTION).up()
|
||||||
|
|
||||||
|
for await (const post of pages) {
|
||||||
|
const title = post.title;
|
||||||
|
const pubDate = post.date
|
||||||
|
const postUrl = SITE_URL + "/blog/" + post.canonical
|
||||||
|
// const postHtml =
|
||||||
|
const summary = post.description;
|
||||||
|
|
||||||
|
root.ele('entry')
|
||||||
|
.ele('title').txt(title).up()
|
||||||
|
.ele('link', { href: postUrl }).up()
|
||||||
|
.ele('published').txt(pubDate).up()
|
||||||
|
.ele('id').txt(postUrl).up()
|
||||||
|
// .ele('content', { type: 'html' }).txt(postHtml).up()
|
||||||
|
.ele('summary').txt(summary).up()
|
||||||
|
.up();
|
||||||
|
}
|
||||||
|
|
||||||
|
return root.end()
|
||||||
|
}
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:jade="http://jade.ellis.link">
|
||||||
|
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
|
||||||
|
<xsl:template match="/">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
||||||
|
<head>
|
||||||
|
<title>
|
||||||
|
RSS Feed |
|
||||||
|
<xsl:value-of select="/atom:feed/atom:title"/>
|
||||||
|
</title>
|
||||||
|
<meta charset="utf-8"/>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<link rel="stylesheet" >
|
||||||
|
<xsl:attribute name="href">
|
||||||
|
<xsl:value-of select="/atom:feed/jade:link/@href[1]" />
|
||||||
|
</xsl:attribute></link>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main class="main container">
|
||||||
|
|
||||||
|
<dk-alert-box type="info">
|
||||||
|
<strong>This is an RSS feed</strong>. Subscribe by copying
|
||||||
|
the URL from the address bar into your newsreader. Visit <a
|
||||||
|
href="https://aboutfeeds.com">About Feeds</a> to learn more
|
||||||
|
and get started. It’s free.
|
||||||
|
</dk-alert-box>
|
||||||
|
<div class="py-7">
|
||||||
|
<h1 class="flex items-start">
|
||||||
|
<!-- https://commons.wikimedia.org/wiki/File:Feed-icon.svg -->
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
|
||||||
|
class="inline-icon"
|
||||||
|
style="flex-shrink: 0; width: 1em; height: 1em;"
|
||||||
|
viewBox="0 0 256 256">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="0.085" y1="0.085" x2="0.915" y2="0.915"
|
||||||
|
id="RSSg">
|
||||||
|
<stop offset="0.0" stop-color="#E3702D"/>
|
||||||
|
<stop offset="0.1071" stop-color="#EA7D31"/>
|
||||||
|
<stop offset="0.3503" stop-color="#F69537"/>
|
||||||
|
<stop offset="0.5" stop-color="#FB9E3A"/>
|
||||||
|
<stop offset="0.7016" stop-color="#EA7C31"/>
|
||||||
|
<stop offset="0.8866" stop-color="#DE642B"/>
|
||||||
|
<stop offset="1.0" stop-color="#D95B29"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<rect width="256" height="256" rx="55" ry="55" x="0" y="0"
|
||||||
|
fill="#CC5D15"/>
|
||||||
|
<rect width="246" height="246" rx="50" ry="50" x="5" y="5"
|
||||||
|
fill="#F49C52"/>
|
||||||
|
<rect width="236" height="236" rx="47" ry="47" x="10" y="10"
|
||||||
|
fill="url(#RSSg)"/>
|
||||||
|
<circle cx="68" cy="189" r="24" fill="#FFF"/>
|
||||||
|
<path
|
||||||
|
d="M160 213h-34a82 82 0 0 0 -82 -82v-34a116 116 0 0 1 116 116z"
|
||||||
|
fill="#FFF"/>
|
||||||
|
<path
|
||||||
|
d="M184 213A140 140 0 0 0 44 73 V 38a175 175 0 0 1 175 175z"
|
||||||
|
fill="#FFF"/>
|
||||||
|
</svg>
|
||||||
|
RSS Feed Preview
|
||||||
|
</h1>
|
||||||
|
<h2><xsl:value-of select="/atom:feed/atom:title"/></h2>
|
||||||
|
<p>
|
||||||
|
<xsl:value-of select="/atom:feed/atom:subtitle"/>
|
||||||
|
</p>
|
||||||
|
<a>
|
||||||
|
<xsl:attribute name="href">
|
||||||
|
<xsl:value-of select="/atom:feed/atom:link[1]/@href"/>
|
||||||
|
</xsl:attribute>
|
||||||
|
Visit Website →
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<h2>Recent blog posts</h2>
|
||||||
|
<xsl:for-each select="/atom:feed/atom:entry">
|
||||||
|
<article>
|
||||||
|
|
||||||
|
<h3 class="text-4 font-bold">
|
||||||
|
<a>
|
||||||
|
<xsl:attribute name="href">
|
||||||
|
<xsl:value-of select="atom:link/@href"/>
|
||||||
|
</xsl:attribute>
|
||||||
|
<xsl:value-of select="atom:title"/>
|
||||||
|
</a>
|
||||||
|
</h3>
|
||||||
|
<span class="quiet">
|
||||||
|
Published on
|
||||||
|
<xsl:value-of select="substring(atom:published, 0, 11)" />
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<p class="p-summart"><xsl:value-of select="atom:summary"/></p>
|
||||||
|
</article>
|
||||||
|
</xsl:for-each>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
@import url("$lib/styles.css");
|
||||||
|
|
||||||
|
body {
|
||||||
|
padding-block: var(--spacing);
|
||||||
|
}
|
||||||
|
.inline-icon {
|
||||||
|
margin-right: 0.75rem
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
/* font-size: 3.8rem; */
|
||||||
|
line-height: 1;
|
||||||
|
/* font-weight: 800; */
|
||||||
|
/* margin-bottom: 4rem; */
|
||||||
|
text-wrap: balance;
|
||||||
|
}
|
||||||
|
.flex {
|
||||||
|
display: flex
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-col {
|
||||||
|
flex-direction: column
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-wrap {
|
||||||
|
flex-wrap: wrap
|
||||||
|
}
|
||||||
|
|
||||||
|
.items-center {
|
||||||
|
align-items: center
|
||||||
|
}
|
||||||
|
|
||||||
|
.items-start {
|
||||||
|
align-items: flex-start
|
||||||
|
}
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
import type Feed from '@json-feed-types/1_1'
|
|
||||||
import {
|
|
||||||
SITE_DEFAULT_DESCRIPTION,
|
|
||||||
SITE_TITLE,
|
|
||||||
SITE_URL,
|
|
||||||
RSS_DEFAULT_POSTS_PER_PAGE
|
|
||||||
} from '$lib/metadata';
|
|
||||||
|
|
||||||
import { create } from 'xmlbuilder2';
|
|
||||||
// import { base } from '$app/paths';
|
|
||||||
|
|
||||||
export const prerender = true;
|
|
||||||
|
|
||||||
export async function GET() {
|
|
||||||
const headers = {
|
|
||||||
'Cache-Control': 'max-age=0, s-maxage=3600',
|
|
||||||
'Content-Type': 'application/feed+json'
|
|
||||||
};
|
|
||||||
return new Response(await getJsonFeed(), { headers });
|
|
||||||
}
|
|
||||||
|
|
||||||
const AUTHOR = "Jade Ellis"
|
|
||||||
// prettier-ignore
|
|
||||||
async function getJsonFeed(): Promise<string> {
|
|
||||||
const feedUrl = `${SITE_URL}/feed.json`;
|
|
||||||
|
|
||||||
const feed: Feed = {
|
|
||||||
version: 'https://jsonfeed.org/version/1.1',
|
|
||||||
title: SITE_TITLE,
|
|
||||||
icon: `${SITE_URL}/android-chrome-256x256.png`,
|
|
||||||
home_page_url: SITE_URL,
|
|
||||||
description: SITE_DEFAULT_DESCRIPTION,
|
|
||||||
feed_url: feedUrl,
|
|
||||||
authors: [{ name: AUTHOR }],
|
|
||||||
items: [
|
|
||||||
],
|
|
||||||
}
|
|
||||||
// for await (const post of posts) {
|
|
||||||
// const pubDate =
|
|
||||||
// const postUrl =
|
|
||||||
// const postHtml =
|
|
||||||
// const summary = post.metadata.description;
|
|
||||||
|
|
||||||
// root.ele('entry')
|
|
||||||
// .ele('title').txt(post.metadata.title).up()
|
|
||||||
// .ele('link', { href: postUrl }).up()
|
|
||||||
// .ele('updated').txt(pubDate).up()
|
|
||||||
// .ele('id').txt(postUrl).up()
|
|
||||||
// .ele('content', { type: 'html' }).txt(postHtml).up()
|
|
||||||
// .ele('summary').txt(summary).up()
|
|
||||||
// .up();
|
|
||||||
// }
|
|
||||||
|
|
||||||
return JSON.stringify(feed)
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
import {
|
|
||||||
SITE_DEFAULT_DESCRIPTION,
|
|
||||||
SITE_TITLE,
|
|
||||||
SITE_URL,
|
|
||||||
RSS_DEFAULT_POSTS_PER_PAGE
|
|
||||||
} from '$lib/metadata';
|
|
||||||
|
|
||||||
import { create } from 'xmlbuilder2';
|
|
||||||
// import { base } from '$app/paths';
|
|
||||||
|
|
||||||
export const prerender = true;
|
|
||||||
|
|
||||||
export async function GET() {
|
|
||||||
const headers = {
|
|
||||||
'Cache-Control': 'max-age=0, s-maxage=3600',
|
|
||||||
'Content-Type': 'application/xml'
|
|
||||||
};
|
|
||||||
return new Response(await getRssXml(), { headers });
|
|
||||||
}
|
|
||||||
|
|
||||||
const AUTHOR = "Jade Ellis"
|
|
||||||
// prettier-ignore
|
|
||||||
async function getRssXml(): Promise<string> {
|
|
||||||
const rssUrl = `${SITE_URL}/rss.xml`;
|
|
||||||
const root = create({ version: '1.0', encoding: 'utf-8' })
|
|
||||||
.ele('feed', {
|
|
||||||
xmlns: 'http://www.w3.org/2005/Atom',
|
|
||||||
})
|
|
||||||
.ele('title').txt(SITE_TITLE).up()
|
|
||||||
.ele('link', { href: SITE_URL }).up()
|
|
||||||
.ele('link', { rel: 'self', href: rssUrl }).up()
|
|
||||||
.ele('updated').txt(new Date().toISOString()).up()
|
|
||||||
.ele('id').txt(SITE_URL).up()
|
|
||||||
.ele('author')
|
|
||||||
.ele('name').txt(AUTHOR).up()
|
|
||||||
.up()
|
|
||||||
.ele('subtitle').txt(SITE_DEFAULT_DESCRIPTION).up()
|
|
||||||
|
|
||||||
// for await (const post of posts) {
|
|
||||||
// const pubDate =
|
|
||||||
// const postUrl =
|
|
||||||
// const postHtml =
|
|
||||||
// const summary = post.metadata.description;
|
|
||||||
|
|
||||||
// root.ele('entry')
|
|
||||||
// .ele('title').txt(post.metadata.title).up()
|
|
||||||
// .ele('link', { href: postUrl }).up()
|
|
||||||
// .ele('updated').txt(pubDate).up()
|
|
||||||
// .ele('id').txt(postUrl).up()
|
|
||||||
// .ele('content', { type: 'html' }).txt(postHtml).up()
|
|
||||||
// .ele('summary').txt(summary).up()
|
|
||||||
// .up();
|
|
||||||
// }
|
|
||||||
|
|
||||||
return root.end()
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { sveltekit } from "@sveltejs/kit/vite";
|
import { sveltekit } from "@sveltejs/kit/vite";
|
||||||
import { defineConfig } from "vite";
|
import { defineConfig, type PluginOption } from "vite";
|
||||||
import { ViteImageOptimizer } from "vite-plugin-image-optimizer";
|
import { ViteImageOptimizer } from "vite-plugin-image-optimizer";
|
||||||
import dynamicImport from 'vite-plugin-dynamic-import'
|
import dynamicImport from 'vite-plugin-dynamic-import'
|
||||||
import typeAsJsonSchemaPlugin from "rollup-plugin-type-as-json-schema";
|
import typeAsJsonSchemaPlugin from "rollup-plugin-type-as-json-schema";
|
||||||
@@ -49,6 +49,9 @@ const fallback: {[key: string]: string} = {
|
|||||||
'.webp': 'png'
|
'.webp': 'png'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
import { visualizer } from "rollup-plugin-visualizer";
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
@@ -94,6 +97,10 @@ export default defineConfig({
|
|||||||
// dynamicImportVars({
|
// dynamicImportVars({
|
||||||
// // options
|
// // options
|
||||||
// })
|
// })
|
||||||
|
// visualizer({
|
||||||
|
// emitFile: true,
|
||||||
|
// filename: "stats.html",
|
||||||
|
// }) as PluginOption
|
||||||
|
|
||||||
],
|
],
|
||||||
build: {
|
build: {
|
||||||
|
|||||||
Generated
+113
@@ -164,6 +164,9 @@ importers:
|
|||||||
rollup-plugin-type-as-json-schema:
|
rollup-plugin-type-as-json-schema:
|
||||||
specifier: ^0.2.6
|
specifier: ^0.2.6
|
||||||
version: 0.2.6
|
version: 0.2.6
|
||||||
|
rollup-plugin-visualizer:
|
||||||
|
specifier: ^5.12.0
|
||||||
|
version: 5.12.0(rollup@4.18.0)
|
||||||
sharp:
|
sharp:
|
||||||
specifier: ^0.33.4
|
specifier: ^0.33.4
|
||||||
version: 0.33.4
|
version: 0.33.4
|
||||||
@@ -1136,6 +1139,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
|
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
|
cliui@8.0.1:
|
||||||
|
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
code-red@1.0.4:
|
code-red@1.0.4:
|
||||||
resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
|
resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
|
||||||
|
|
||||||
@@ -1251,6 +1258,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
|
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
|
define-lazy-prop@2.0.0:
|
||||||
|
resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
deprecation@2.3.1:
|
deprecation@2.3.1:
|
||||||
resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
|
resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
|
||||||
|
|
||||||
@@ -1324,6 +1335,10 @@ packages:
|
|||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
escalade@3.1.2:
|
||||||
|
resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
escape-string-regexp@1.0.5:
|
escape-string-regexp@1.0.5:
|
||||||
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
|
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
|
||||||
engines: {node: '>=0.8.0'}
|
engines: {node: '>=0.8.0'}
|
||||||
@@ -1397,6 +1412,10 @@ packages:
|
|||||||
function-bind@1.1.2:
|
function-bind@1.1.2:
|
||||||
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
|
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
|
||||||
|
|
||||||
|
get-caller-file@2.0.5:
|
||||||
|
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
|
||||||
|
engines: {node: 6.* || 8.* || >= 10.*}
|
||||||
|
|
||||||
github-slugger@2.0.0:
|
github-slugger@2.0.0:
|
||||||
resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
|
resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
|
||||||
|
|
||||||
@@ -1506,6 +1525,11 @@ packages:
|
|||||||
is-core-module@2.13.1:
|
is-core-module@2.13.1:
|
||||||
resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
|
resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
|
||||||
|
|
||||||
|
is-docker@2.2.1:
|
||||||
|
resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
is-extglob@2.1.1:
|
is-extglob@2.1.1:
|
||||||
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@@ -1539,6 +1563,10 @@ packages:
|
|||||||
is-reference@3.0.2:
|
is-reference@3.0.2:
|
||||||
resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
|
resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
|
||||||
|
|
||||||
|
is-wsl@2.2.0:
|
||||||
|
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
isexe@2.0.0:
|
isexe@2.0.0:
|
||||||
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
||||||
|
|
||||||
@@ -1836,6 +1864,10 @@ packages:
|
|||||||
once@1.4.0:
|
once@1.4.0:
|
||||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||||
|
|
||||||
|
open@8.4.2:
|
||||||
|
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
param-case@3.0.4:
|
param-case@3.0.4:
|
||||||
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
|
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
|
||||||
|
|
||||||
@@ -1957,6 +1989,10 @@ packages:
|
|||||||
remark-wiki-link@0.0.4:
|
remark-wiki-link@0.0.4:
|
||||||
resolution: {integrity: sha512-Mmd5TspUWTnt+gafIdUtczHsjZY21XYEI9BeR6HMLKv/pUiNa5tDSWSjiPMvx07DlD4OmSM+tIhhk7SQXV3LrA==}
|
resolution: {integrity: sha512-Mmd5TspUWTnt+gafIdUtczHsjZY21XYEI9BeR6HMLKv/pUiNa5tDSWSjiPMvx07DlD4OmSM+tIhhk7SQXV3LrA==}
|
||||||
|
|
||||||
|
require-directory@2.1.1:
|
||||||
|
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
resolve-from@4.0.0:
|
resolve-from@4.0.0:
|
||||||
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
|
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
@@ -1978,6 +2014,16 @@ packages:
|
|||||||
resolution: {integrity: sha512-oxnqPK25qv5AqMOxZELQOGVFeidJJLBbd6Hngn4kbTGP9qH+CEw4SUW8hwt8bEVBGQPaL7wLYZXkVXYJgnlZ1Q==}
|
resolution: {integrity: sha512-oxnqPK25qv5AqMOxZELQOGVFeidJJLBbd6Hngn4kbTGP9qH+CEw4SUW8hwt8bEVBGQPaL7wLYZXkVXYJgnlZ1Q==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
|
|
||||||
|
rollup-plugin-visualizer@5.12.0:
|
||||||
|
resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
|
||||||
|
engines: {node: '>=14'}
|
||||||
|
hasBin: true
|
||||||
|
peerDependencies:
|
||||||
|
rollup: 2.x || 3.x || 4.x
|
||||||
|
peerDependenciesMeta:
|
||||||
|
rollup:
|
||||||
|
optional: true
|
||||||
|
|
||||||
rollup@4.18.0:
|
rollup@4.18.0:
|
||||||
resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==}
|
resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==}
|
||||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||||
@@ -2058,6 +2104,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
|
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
|
source-map@0.7.4:
|
||||||
|
resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
|
||||||
space-separated-tokens@2.0.2:
|
space-separated-tokens@2.0.2:
|
||||||
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
|
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
|
||||||
|
|
||||||
@@ -2478,6 +2528,18 @@ packages:
|
|||||||
resolution: {integrity: sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==}
|
resolution: {integrity: sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==}
|
||||||
engines: {node: '>=12.0'}
|
engines: {node: '>=12.0'}
|
||||||
|
|
||||||
|
y18n@5.0.8:
|
||||||
|
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
|
yargs-parser@21.1.1:
|
||||||
|
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
yargs@17.7.2:
|
||||||
|
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
zwitch@2.0.4:
|
zwitch@2.0.4:
|
||||||
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
|
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
|
||||||
|
|
||||||
@@ -3335,6 +3397,12 @@ snapshots:
|
|||||||
|
|
||||||
clean-stack@2.2.0: {}
|
clean-stack@2.2.0: {}
|
||||||
|
|
||||||
|
cliui@8.0.1:
|
||||||
|
dependencies:
|
||||||
|
string-width: 4.2.3
|
||||||
|
strip-ansi: 6.0.1
|
||||||
|
wrap-ansi: 7.0.0
|
||||||
|
|
||||||
code-red@1.0.4:
|
code-red@1.0.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/sourcemap-codec': 1.4.15
|
'@jridgewell/sourcemap-codec': 1.4.15
|
||||||
@@ -3455,6 +3523,8 @@ snapshots:
|
|||||||
|
|
||||||
deepmerge@4.3.1: {}
|
deepmerge@4.3.1: {}
|
||||||
|
|
||||||
|
define-lazy-prop@2.0.0: {}
|
||||||
|
|
||||||
deprecation@2.3.1: {}
|
deprecation@2.3.1: {}
|
||||||
|
|
||||||
dequal@2.0.3: {}
|
dequal@2.0.3: {}
|
||||||
@@ -3541,6 +3611,8 @@ snapshots:
|
|||||||
'@esbuild/win32-ia32': 0.21.5
|
'@esbuild/win32-ia32': 0.21.5
|
||||||
'@esbuild/win32-x64': 0.21.5
|
'@esbuild/win32-x64': 0.21.5
|
||||||
|
|
||||||
|
escalade@3.1.2: {}
|
||||||
|
|
||||||
escape-string-regexp@1.0.5: {}
|
escape-string-regexp@1.0.5: {}
|
||||||
|
|
||||||
escape-string-regexp@5.0.0: {}
|
escape-string-regexp@5.0.0: {}
|
||||||
@@ -3605,6 +3677,8 @@ snapshots:
|
|||||||
|
|
||||||
function-bind@1.1.2: {}
|
function-bind@1.1.2: {}
|
||||||
|
|
||||||
|
get-caller-file@2.0.5: {}
|
||||||
|
|
||||||
github-slugger@2.0.0: {}
|
github-slugger@2.0.0: {}
|
||||||
|
|
||||||
glob-parent@5.1.2:
|
glob-parent@5.1.2:
|
||||||
@@ -3750,6 +3824,8 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
|
|
||||||
|
is-docker@2.2.1: {}
|
||||||
|
|
||||||
is-extglob@2.1.1: {}
|
is-extglob@2.1.1: {}
|
||||||
|
|
||||||
is-fullwidth-code-point@3.0.0: {}
|
is-fullwidth-code-point@3.0.0: {}
|
||||||
@@ -3774,6 +3850,10 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@types/estree': 1.0.5
|
'@types/estree': 1.0.5
|
||||||
|
|
||||||
|
is-wsl@2.2.0:
|
||||||
|
dependencies:
|
||||||
|
is-docker: 2.2.1
|
||||||
|
|
||||||
isexe@2.0.0: {}
|
isexe@2.0.0: {}
|
||||||
|
|
||||||
jackspeak@3.4.0:
|
jackspeak@3.4.0:
|
||||||
@@ -4250,6 +4330,12 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
wrappy: 1.0.2
|
wrappy: 1.0.2
|
||||||
|
|
||||||
|
open@8.4.2:
|
||||||
|
dependencies:
|
||||||
|
define-lazy-prop: 2.0.0
|
||||||
|
is-docker: 2.2.1
|
||||||
|
is-wsl: 2.2.0
|
||||||
|
|
||||||
param-case@3.0.4:
|
param-case@3.0.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
dot-case: 3.0.4
|
dot-case: 3.0.4
|
||||||
@@ -4405,6 +4491,8 @@ snapshots:
|
|||||||
'@babel/runtime': 7.24.7
|
'@babel/runtime': 7.24.7
|
||||||
unist-util-map: 1.0.5
|
unist-util-map: 1.0.5
|
||||||
|
|
||||||
|
require-directory@2.1.1: {}
|
||||||
|
|
||||||
resolve-from@4.0.0: {}
|
resolve-from@4.0.0: {}
|
||||||
|
|
||||||
resolve@1.22.8:
|
resolve@1.22.8:
|
||||||
@@ -4424,6 +4512,15 @@ snapshots:
|
|||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
ts-json-schema-generator: 1.5.1
|
ts-json-schema-generator: 1.5.1
|
||||||
|
|
||||||
|
rollup-plugin-visualizer@5.12.0(rollup@4.18.0):
|
||||||
|
dependencies:
|
||||||
|
open: 8.4.2
|
||||||
|
picomatch: 2.3.1
|
||||||
|
source-map: 0.7.4
|
||||||
|
yargs: 17.7.2
|
||||||
|
optionalDependencies:
|
||||||
|
rollup: 4.18.0
|
||||||
|
|
||||||
rollup@4.18.0:
|
rollup@4.18.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/estree': 1.0.5
|
'@types/estree': 1.0.5
|
||||||
@@ -4541,6 +4638,8 @@ snapshots:
|
|||||||
|
|
||||||
source-map@0.6.1: {}
|
source-map@0.6.1: {}
|
||||||
|
|
||||||
|
source-map@0.7.4: {}
|
||||||
|
|
||||||
space-separated-tokens@2.0.2: {}
|
space-separated-tokens@2.0.2: {}
|
||||||
|
|
||||||
sprintf-js@1.0.3: {}
|
sprintf-js@1.0.3: {}
|
||||||
@@ -4986,4 +5085,18 @@ snapshots:
|
|||||||
'@oozcitak/util': 8.3.8
|
'@oozcitak/util': 8.3.8
|
||||||
js-yaml: 3.14.1
|
js-yaml: 3.14.1
|
||||||
|
|
||||||
|
y18n@5.0.8: {}
|
||||||
|
|
||||||
|
yargs-parser@21.1.1: {}
|
||||||
|
|
||||||
|
yargs@17.7.2:
|
||||||
|
dependencies:
|
||||||
|
cliui: 8.0.1
|
||||||
|
escalade: 3.1.2
|
||||||
|
get-caller-file: 2.0.5
|
||||||
|
require-directory: 2.1.1
|
||||||
|
string-width: 4.2.3
|
||||||
|
y18n: 5.0.8
|
||||||
|
yargs-parser: 21.1.1
|
||||||
|
|
||||||
zwitch@2.0.4: {}
|
zwitch@2.0.4: {}
|
||||||
|
|||||||
Reference in New Issue
Block a user