1
0
Fork 0
mirror of https://github.com/mat-1/matdoesdev.git synced 2025-08-02 06:36:04 +00:00

do some work

This commit is contained in:
mat 2021-11-17 01:19:31 +00:00
parent 5e3afc8e43
commit de184200f6
14 changed files with 343 additions and 103 deletions

View file

@ -17,4 +17,9 @@ module.exports = {
es2020: true,
node: true,
},
rules: {
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/ban-types': 'off',
},
}

3
.gitpod.yml Normal file
View file

@ -0,0 +1,3 @@
tasks:
- init: yarn install && yarn run build
command: yarn run dev:host

View file

@ -4,4 +4,4 @@
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
}

View file

@ -1,6 +1,7 @@
{
"name": "matdoesdev",
"version": "0.0.1",
"license": "MIT",
"scripts": {
"dev": "svelte-kit dev",
"dev:host": "svelte-kit dev --host",
@ -32,6 +33,9 @@
"@fontsource/fira-mono": "^4.5.0",
"@lukeed/uuid": "^2.0.0",
"@sveltejs/adapter-static": "^1.0.0-next.21",
"cookie": "^0.4.1"
"cookie": "^0.4.1",
"htmlparser2": "^7.2.0",
"marked": "^4.0.3",
"svelte-markdown": "^0.1.14"
}
}

View file

@ -1,6 +1,6 @@
<script lang="ts">
export let title: string = 'matdoesdev'
export let description: string = ''
export let title = 'matdoesdev'
export let description = ''
</script>
<svelte:head>

36
src/lib/blog.ts Normal file
View file

@ -0,0 +1,36 @@
import path from 'path'
import fs from 'fs'
const postsDir = 'src/posts'
interface BlogPost {
title: string
body: string
}
/** Get a blog post by the slug, returning null if it doesn't exist */
export async function getPost(slug: string): Promise<BlogPost | null> {
// get all the posts in the posts directory, so we can check that the user is going to a valid one
const existingPosts: string[] = await fs.promises.readdir(postsDir)
if (!existingPosts.includes(slug)) {
// this post doesn't exist, give them an error
return null
}
// ok the post exists, so we can safely read the md file
const postMarkdown = await fs.promises.readFile(path.join(postsDir, slug, 'index.md'), 'utf8')
const postTitleMatch = postMarkdown.match(/^# (.+)/)
if (!postTitleMatch) {
throw new Error(`Post "${slug}" doesn't have a title.`)
}
// remove the title from the content
const postBody: string = postMarkdown.slice(postTitleMatch[0].length).trim()
const postTitle: string = postTitleMatch[1]
return {
body: postBody,
title: postTitle,
}
}

12
src/lib/textutils.ts Normal file
View file

@ -0,0 +1,12 @@
import marked from 'marked'
// marked.use({
// })
export function markdownToHtml(md: string): string {
return marked.parse(md)
}
/** Cut off an html string at approximately a certain amount of lines */
function cutoffHtmlLines(html: string): string {}

View file

@ -0,0 +1,9 @@
# this is the title of the post
Tempor id lorem sit velit. Amet labore tempor mollit ad dolore exercitation ipsum dolore ipsum nostrud nulla nulla. Tempor laboris laboris cillum voluptate commodo duis aliqua. Do deserunt irure dolor quis elit irure occaecat excepteur laboris ipsum pariatur nostrud. Enim duis nostrud enim quis reprehenderit sunt officia aliquip laboris non non tempor cupidatat.
Id non reprehenderit velit ipsum anim. Incididunt tempor incididunt ut occaecat irure aliquip veniam. Nisi nisi sunt commodo esse eu. Ullamco nisi officia et exercitation lorem pariatur qui consectetur aliquip aliqua consectetur in irure mollit. Eiusmod sunt deserunt eu quis duis ipsum eu commodo.
Eu tempor id esse reprehenderit laboris eu magna laboris veniam ullamco tempor commodo duis dolore minim cupidatat. Sint id proident laboris ullamco occaecat magna esse duis ex excepteur proident labore tempor pariatur minim occaecat adipisicing quis. Sint nisi deserunt aute pariatur pariatur enim pariatur culpa nostrud aute tempor amet eiusmod elit pariatur. Aute anim cupidatat voluptate ut mollit incididunt laborum duis mollit aute veniam minim esse ad ad nostrud cupidatat lorem.
Voluptate incididunt ea consectetur eiusmod est sunt eu quis laboris duis officia laborum id deserunt commodo do veniam elit. Ullamco sunt esse aliqua eiusmod excepteur est nisi sit veniam aliquip laboris. Fugiat exercitation esse reprehenderit sint aute nostrud esse adipisicing ipsum laboris amet culpa. Sint ullamco cillum quis commodo aliquip aliqua do elit consequat aliqua duis proident anim adipisicing sit dolor anim veniam.

View file

@ -0,0 +1,35 @@
import { getPost } from '$lib/blog'
import { markdownToHtml } from '$lib/textutils'
import type { RequestHandler } from '@sveltejs/kit'
import fs from 'fs'
const postsDir = 'src/posts'
export interface BlogPostPreview {
title: string
html: string
}
export const get: RequestHandler = async () => {
const existingPosts: string[] = await fs.promises.readdir(postsDir)
const posts = (
await Promise.all(
existingPosts.map(async (slug): Promise<BlogPostPreview | null> => {
const blogPost = await getPost(slug)
// theoretically it's possible a blog post was deleted while we were reading the directory, so just ignore it if it's null
if (blogPost === null) return null
return {
title: blogPost.title,
html: markdownToHtml(blogPost.body),
}
})
)
).filter((p) => p)
return {
body: posts,
} as any
}

View file

@ -1,2 +1,27 @@
<script lang="ts">
<script lang="ts" context="module">
import type { Load } from '@sveltejs/kit'
import type { BlogPostPreview } from './index.json'
export const get: Load = async ({ page, fetch }) => {
const posts = await fetch(`/blog.json`).then((r) => r.json())
return {
props: {
posts,
},
}
}
</script>
<script lang="ts">
export let posts: BlogPostPreview[]
</script>
<div>
{#each posts as post}
<article>
<h2>{post.title}</h2>
<p>{@html post.body}</p>
</article>
{/each}
</div>

View file

@ -0,0 +1,27 @@
import { getPost } from '$lib/blog'
import { markdownToHtml } from '$lib/textutils'
import type { RequestHandler } from '@sveltejs/kit'
interface APIBlogPost {
title: string
html: string
}
export const get: RequestHandler = async ({ params }) => {
const { slug } = params
const post = await getPost(slug)
if (post === null)
return {
body: {
error: 'Not found',
},
status: 404,
} as any
return {
title: post.title,
html: markdownToHtml(post.body),
} as APIBlogPost
}

View file

@ -1,20 +1,31 @@
<script lang="ts" context="module">
import type { Load } from '@sveltejs/kit'
export const get: Load = async ({ page }) => {
// the `slug` parameter is available because this file
// is called [slug].json.js
export const get: Load = async ({ page, fetch }) => {
const { slug } = page.params
const resp = await fetch(`/blog/post/${slug}.json`)
if (resp.status === 404) return
const body = await resp.json()
return {
props: { slug },
props: {
title: body.title,
body: body.body,
},
}
}
</script>
<script lang="ts">
export let slug: string
import type { SvelteComponent } from 'svelte'
import Post from '$lib/posts/' + slug
import SvelteMarkdown from 'svelte-markdown'
export let title: string
export let body: string
</script>
<article>
<h1>{title}</h1>
<SvelteMarkdown source={body} />
</article>

View file

@ -13,8 +13,8 @@
<h1>matdoesdev</h1>
<div class="button-row social-media-row">
<a href="//github.com/mat-1"><img src="/github.svg" class="icon" /></a>
<a href="//twitter.com/mat1"><img src="/twitter.svg" class="icon" /></a>
<a href="//github.com/mat-1"><img src="/github.svg" class="icon" alt="GitHub" /></a>
<a href="//twitter.com/mat1"><img src="/twitter.svg" class="icon" alt="Twitter" /></a>
</div>
<p>I'm mat, I do full-stack software development.</p>

249
yarn.lock
View file

@ -135,6 +135,11 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
"@types/marked@^2.0.0":
version "2.0.5"
resolved "https://registry.yarnpkg.com/@types/marked/-/marked-2.0.5.tgz#453e27f1e97199d45bb25297b0dd2b9bbc1e05ea"
integrity sha512-shRZ7XnYFD/8n8zSjKvFdto1QNSf4tONZIlNEZGrJe8GsOE8DL/hG1Hbl8gZlfLnjS7+f5tZGIaTgfpyW38h4w==
"@types/node@*":
version "16.11.7"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.7.tgz#36820945061326978c42a01e56b61cd223dfdc42"
@ -447,6 +452,36 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
dom-serializer@^1.0.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91"
integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==
dependencies:
domelementtype "^2.0.1"
domhandler "^4.2.0"
entities "^2.0.0"
domelementtype@^2.0.1, domelementtype@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
domhandler@^4.2.0, domhandler@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f"
integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==
dependencies:
domelementtype "^2.2.0"
domutils@^2.8.0:
version "2.8.0"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
dependencies:
dom-serializer "^1.0.1"
domelementtype "^2.2.0"
domhandler "^4.2.0"
emoji-regex@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
@ -459,118 +494,128 @@ enquirer@^2.3.5:
dependencies:
ansi-colors "^4.1.1"
entities@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
entities@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4"
integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==
es6-promise@^3.1.2:
version "3.3.1"
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613"
integrity sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=
esbuild-android-arm64@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.13.tgz#da07b5fb2daf7d83dcd725f7cf58a6758e6e702a"
integrity sha512-T02aneWWguJrF082jZworjU6vm8f4UQ+IH2K3HREtlqoY9voiJUwHLRL6khRlsNLzVglqgqb7a3HfGx7hAADCQ==
esbuild-android-arm64@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.14.tgz#c85083ece26be3d67e6c720e088968a98409e023"
integrity sha512-Q+Xhfp827r+ma8/DJgpMRUbDZfefsk13oePFEXEIJ4gxFbNv5+vyiYXYuKm43/+++EJXpnaYmEnu4hAKbAWYbA==
esbuild-darwin-64@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.13.tgz#e94e9fd3b4b5455a2e675cd084a19a71b6904bbf"
integrity sha512-wkaiGAsN/09X9kDlkxFfbbIgR78SNjMOfUhoel3CqKBDsi9uZhw7HBNHNxTzYUK8X8LAKFpbODgcRB3b/I8gHA==
esbuild-darwin-64@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.14.tgz#8e4e237ad847cc54a1d3a5caee26a746b9f0b81f"
integrity sha512-YmOhRns6QBNSjpVdTahi/yZ8dscx9ai7a6OY6z5ACgOuQuaQ2Qk2qgJ0/siZ6LgD0gJFMV8UINFV5oky5TFNQQ==
esbuild-darwin-arm64@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.13.tgz#8c320eafbb3ba2c70d8062128c5b71503e342471"
integrity sha512-b02/nNKGSV85Gw9pUCI5B48AYjk0vFggDeom0S6QMP/cEDtjSh1WVfoIFNAaLA0MHWfue8KBwoGVsN7rBshs4g==
esbuild-darwin-arm64@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.14.tgz#b3b5ebd40b2cb06ee0f6fb342dd4bdcca54ad273"
integrity sha512-Lp00VTli2jqZghSa68fx3fEFCPsO1hK59RMo1PRap5RUjhf55OmaZTZYnCDI0FVlCtt+gBwX5qwFt4lc6tI1xg==
esbuild-freebsd-64@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.13.tgz#ce0ca5b8c4c274cfebc9326f9b316834bd9dd151"
integrity sha512-ALgXYNYDzk9YPVk80A+G4vz2D22Gv4j4y25exDBGgqTcwrVQP8rf/rjwUjHoh9apP76oLbUZTmUmvCMuTI1V9A==
esbuild-freebsd-64@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.14.tgz#175ecb2fa8141428cf70ea2d5f4c27534bad53e0"
integrity sha512-BKosI3jtvTfnmsCW37B1TyxMUjkRWKqopR0CE9AF2ratdpkxdR24Vpe3gLKNyWiZ7BE96/SO5/YfhbPUzY8wKw==
esbuild-freebsd-arm64@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.13.tgz#463da17562fdcfdf03b3b94b28497d8d8dcc8f62"
integrity sha512-uFvkCpsZ1yqWQuonw5T1WZ4j59xP/PCvtu6I4pbLejhNo4nwjW6YalqnBvBSORq5/Ifo9S/wsIlVHzkzEwdtlw==
esbuild-freebsd-arm64@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.14.tgz#a7d64e41d1fa581f8db7775e5200f18e67d70c4d"
integrity sha512-yd2uh0yf+fWv5114+SYTl4/1oDWtr4nN5Op+PGxAkMqHfYfLjFKpcxwCo/QOS/0NWqPVE8O41IYZlFhbEN2B8Q==
esbuild-linux-32@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.13.tgz#2035793160da2c4be48a929e5bafb14a31789acc"
integrity sha512-yxR9BBwEPs9acVEwTrEE2JJNHYVuPQC9YGjRfbNqtyfK/vVBQYuw8JaeRFAvFs3pVJdQD0C2BNP4q9d62SCP4w==
esbuild-linux-32@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.14.tgz#14bdd4f6b6cfd35c65c835894651ba335c2117da"
integrity sha512-a8rOnS1oWSfkkYWXoD2yXNV4BdbDKA7PNVQ1klqkY9SoSApL7io66w5H44mTLsfyw7G6Z2vLlaLI2nz9MMAowA==
esbuild-linux-64@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.13.tgz#fbe4802a8168c6d339d0749f977b099449b56f22"
integrity sha512-kzhjlrlJ+6ESRB/n12WTGll94+y+HFeyoWsOrLo/Si0s0f+Vip4b8vlnG0GSiS6JTsWYAtGHReGczFOaETlKIw==
esbuild-linux-64@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.14.tgz#7fd56851b2982fdd0cd8447ee9858c2c5711708a"
integrity sha512-yPZSoMs9W2MC3Dw+6kflKt5FfQm6Dicex9dGIr1OlHRsn3Hm7yGMUTctlkW53KknnZdOdcdd5upxvbxqymczVQ==
esbuild-linux-arm64@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.13.tgz#f08d98df28d436ed4aad1529615822bb74d4d978"
integrity sha512-KMrEfnVbmmJxT3vfTnPv/AiXpBFbbyExH13BsUGy1HZRPFMi5Gev5gk8kJIZCQSRfNR17aqq8sO5Crm2KpZkng==
esbuild-linux-arm64@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.14.tgz#a55634d70679ba509adeafd68eebb9fd1ec5af6c"
integrity sha512-Lvo391ln9PzC334e+jJ2S0Rt0cxP47eoH5gFyv/E8HhOnEJTvm7A+RRnMjjHnejELacTTfYgFGQYPjLsi/jObQ==
esbuild-linux-arm@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.13.tgz#6f968c3a98b64e30c80b212384192d0cfcb32e7f"
integrity sha512-hXub4pcEds+U1TfvLp1maJ+GHRw7oizvzbGRdUvVDwtITtjq8qpHV5Q5hWNNn6Q+b3b2UxF03JcgnpzCw96nUQ==
esbuild-linux-arm@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.14.tgz#bb96a99677e608b31ff61f37564326d38e846ca2"
integrity sha512-8chZE4pkKRvJ/M/iwsNQ1KqsRg2RyU5eT/x2flNt/f8F2TVrDreR7I0HEeCR50wLla3B1C3wTIOzQBmjuc6uWg==
esbuild-linux-mips64le@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.13.tgz#690c78dc4725efe7d06a1431287966fbf7774c7f"
integrity sha512-cJT9O1LYljqnnqlHaS0hdG73t7hHzF3zcN0BPsjvBq+5Ad47VJun+/IG4inPhk8ta0aEDK6LdP+F9299xa483w==
esbuild-linux-mips64le@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.14.tgz#6a55362a8fd1e593dea2ecc41877beed8b8184b9"
integrity sha512-MZhgxbmrWbpY3TOE029O6l5tokG9+Yoj2hW7vdit/d/VnmneqeGrSHADuDL6qXM8L5jaCiaivb4VhsyVCpdAbQ==
esbuild-linux-ppc64le@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.13.tgz#7ec9048502de46754567e734aae7aebd2df6df02"
integrity sha512-+rghW8st6/7O6QJqAjVK3eXzKkZqYAw6LgHv7yTMiJ6ASnNvghSeOcIvXFep3W2oaJc35SgSPf21Ugh0o777qQ==
esbuild-linux-ppc64le@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.14.tgz#9e0048587ece0a7f184ab147f20d077098045e7f"
integrity sha512-un7KMwS7fX1Un6BjfSZxTT8L5cV/8Uf4SAhM7WYy2XF8o8TI+uRxxD03svZnRNIPsN2J5cl6qV4n7Iwz+yhhVw==
esbuild-netbsd-64@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.13.tgz#439bdaefffa03a8fa84324f5d83d636f548a2de3"
integrity sha512-A/B7rwmzPdzF8c3mht5TukbnNwY5qMJqes09ou0RSzA5/jm7Jwl/8z853ofujTFOLhkNHUf002EAgokzSgEMpQ==
esbuild-netbsd-64@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.14.tgz#dcab16a4bbcfa16e2e8535dadc5f64fdc891c63b"
integrity sha512-5ekKx/YbOmmlTeNxBjh38Uh5TGn5C4uyqN17i67k18pS3J+U2hTVD7rCxcFcRS1AjNWumkVL3jWqYXadFwMS0Q==
esbuild-openbsd-64@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.13.tgz#c9958e5291a00a3090c1ec482d6bcdf2d5b5d107"
integrity sha512-szwtuRA4rXKT3BbwoGpsff6G7nGxdKgUbW9LQo6nm0TVCCjDNDC/LXxT994duIW8Tyq04xZzzZSW7x7ttDiw1w==
esbuild-openbsd-64@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.14.tgz#3c7453b155ebb68dc34d5aec3bd6505337bdda08"
integrity sha512-9bzvwewHjct2Cv5XcVoE1yW5YTW12Sk838EYfA46abgnhxGoFSD1mFcaztp5HHC43AsF+hQxbSFG/RilONARUA==
esbuild-sunos-64@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.13.tgz#ac9ead8287379cd2f6d00bd38c5997fda9c1179e"
integrity sha512-ihyds9O48tVOYF48iaHYUK/boU5zRaLOXFS+OOL3ceD39AyHo46HVmsJLc7A2ez0AxNZCxuhu+P9OxfPfycTYQ==
esbuild-sunos-64@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.14.tgz#85addf5fef6b5db154a955d4f2e88953359d75ce"
integrity sha512-mjMrZB76M6FmoiTvj/RGWilrioR7gVwtFBRVugr9qLarXMIU1W/pQx+ieEOtflrW61xo8w1fcxyHsVVGRvoQ0w==
esbuild-windows-32@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.13.tgz#a3820fc86631ca594cb7b348514b5cc3f058cfd6"
integrity sha512-h2RTYwpG4ldGVJlbmORObmilzL8EECy8BFiF8trWE1ZPHLpECE9//J3Bi+W3eDUuv/TqUbiNpGrq4t/odbayUw==
esbuild-windows-32@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.14.tgz#f77f98f30a5c636c44db2428ecdf9bcbbaedb1a7"
integrity sha512-GZa6mrx2rgfbH/5uHg0Rdw50TuOKbdoKCpEBitzmG5tsXBdce+cOL+iFO5joZc6fDVCLW3Y6tjxmSXRk/v20Hg==
esbuild-windows-64@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.13.tgz#1da748441f228d75dff474ddb7d584b81887323c"
integrity sha512-oMrgjP4CjONvDHe7IZXHrMk3wX5Lof/IwFEIbwbhgbXGBaN2dke9PkViTiXC3zGJSGpMvATXVplEhlInJ0drHA==
esbuild-windows-64@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.14.tgz#bc778674c40d65150d12385e0f23eb3a0badbd0d"
integrity sha512-Lsgqah24bT7ClHjLp/Pj3A9wxjhIAJyWQcrOV4jqXAFikmrp2CspA8IkJgw7HFjx6QrJuhpcKVbCAe/xw0i2yw==
esbuild-windows-arm64@0.13.13:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.13.tgz#06dfa52a6b178a5932a9a6e2fdb240c09e6da30c"
integrity sha512-6fsDfTuTvltYB5k+QPah/x7LrI2+OLAJLE3bWLDiZI6E8wXMQU+wLqtEO/U/RvJgVY1loPs5eMpUBpVajczh1A==
esbuild-windows-arm64@0.13.14:
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.14.tgz#91a8dad35ab2c4dd27cd83860742955b25a354d7"
integrity sha512-KP8FHVlWGhM7nzYtURsGnskXb/cBCPTfj0gOKfjKq2tHtYnhDZywsUG57nk7TKhhK0fL11LcejHG3LRW9RF/9A==
esbuild@^0.13.2:
version "0.13.13"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.13.tgz#0b5399c20f219f663c8c1048436fb0f59ab17a41"
integrity sha512-Z17A/R6D0b4s3MousytQ/5i7mTCbaF+Ua/yPfoe71vdTv4KBvVAvQ/6ytMngM2DwGJosl8WxaD75NOQl2QF26Q==
version "0.13.14"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.14.tgz#98a3f7f42809abdc2b57c84565d0f713382dc1a5"
integrity sha512-xu4D+1ji9x53ocuomcY+KOrwAnWzhBu/wTEjpdgZ8I1c8i5vboYIeigMdzgY1UowYBKa2vZgVgUB32bu7gkxeg==
optionalDependencies:
esbuild-android-arm64 "0.13.13"
esbuild-darwin-64 "0.13.13"
esbuild-darwin-arm64 "0.13.13"
esbuild-freebsd-64 "0.13.13"
esbuild-freebsd-arm64 "0.13.13"
esbuild-linux-32 "0.13.13"
esbuild-linux-64 "0.13.13"
esbuild-linux-arm "0.13.13"
esbuild-linux-arm64 "0.13.13"
esbuild-linux-mips64le "0.13.13"
esbuild-linux-ppc64le "0.13.13"
esbuild-netbsd-64 "0.13.13"
esbuild-openbsd-64 "0.13.13"
esbuild-sunos-64 "0.13.13"
esbuild-windows-32 "0.13.13"
esbuild-windows-64 "0.13.13"
esbuild-windows-arm64 "0.13.13"
esbuild-android-arm64 "0.13.14"
esbuild-darwin-64 "0.13.14"
esbuild-darwin-arm64 "0.13.14"
esbuild-freebsd-64 "0.13.14"
esbuild-freebsd-arm64 "0.13.14"
esbuild-linux-32 "0.13.14"
esbuild-linux-64 "0.13.14"
esbuild-linux-arm "0.13.14"
esbuild-linux-arm64 "0.13.14"
esbuild-linux-mips64le "0.13.14"
esbuild-linux-ppc64le "0.13.14"
esbuild-netbsd-64 "0.13.14"
esbuild-openbsd-64 "0.13.14"
esbuild-sunos-64 "0.13.14"
esbuild-windows-32 "0.13.14"
esbuild-windows-64 "0.13.14"
esbuild-windows-arm64 "0.13.14"
escape-string-regexp@^1.0.5:
version "1.0.5"
@ -858,6 +903,16 @@ has@^1.0.3:
dependencies:
function-bind "^1.1.1"
htmlparser2@^7.2.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5"
integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==
dependencies:
domelementtype "^2.0.1"
domhandler "^4.2.2"
domutils "^2.8.0"
entities "^3.0.1"
ignore@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
@ -1000,6 +1055,16 @@ magic-string@^0.25.7:
dependencies:
sourcemap-codec "^1.4.4"
marked@^2.0.0:
version "2.1.3"
resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753"
integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==
marked@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.3.tgz#986760a428d8fd666251ec578429bf9a239a34bc"
integrity sha512-vSwKKtw+lCA0uFK/02JT4tBfNxEREpoTg21NoXqcmX0ySBIEyLMYWmt8WPsM61QNFaDBZkggupyNXLsV7uPuRg==
merge2@^1.3.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
@ -1367,6 +1432,14 @@ svelte-hmr@^0.14.7:
resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.14.7.tgz#7fa8261c7b225d9409f0a86f3b9ea5c3ca6f6607"
integrity sha512-pDrzgcWSoMaK6AJkBWkmgIsecW0GChxYZSZieIYfCP0v2oPyx2CYU/zm7TBIcjLVUPP714WxmViE9Thht4etog==
svelte-markdown@^0.1.14:
version "0.1.14"
resolved "https://registry.yarnpkg.com/svelte-markdown/-/svelte-markdown-0.1.14.tgz#568aca00a40e5400bf1991137d042847967b5b11"
integrity sha512-4xfnGTP/Q9qtVGZHKSsgPC+fZOCsq/nOJkcGzWmnmLH8HGgk1zyxeuFwDnJhENy1tV+6hxhLXkg0LBL0M6P5QQ==
dependencies:
"@types/marked" "^2.0.0"
marked "^2.0.0"
svelte-preprocess@^4.0.0, svelte-preprocess@^4.9.4:
version "4.9.8"
resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-4.9.8.tgz#fd40afebfb352f469beab289667485ebf0d811da"