chore: bump a lot of dependencies
This commit is contained in:
parent
f43b4bdc89
commit
fcb16849f1
10 changed files with 7457 additions and 1657 deletions
70
package.json
70
package.json
|
|
@ -13,51 +13,51 @@
|
|||
"test": "vitest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-auto": "^3.0.0",
|
||||
"@sveltejs/adapter-netlify": "^4.1.0",
|
||||
"@sveltejs/kit": "^2.0.0",
|
||||
"@sveltejs/vite-plugin-svelte": "^3.0.0",
|
||||
"@types/leaflet": "^1.7.11",
|
||||
"@types/sanitize-html": "^2.6.2",
|
||||
"@typescript-eslint/eslint-plugin": "^5.32.0",
|
||||
"@typescript-eslint/parser": "^5.32.0",
|
||||
"eslint": "^7.32.0",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"eslint-plugin-svelte3": "^4.0.0",
|
||||
"prettier": "^2.5.1",
|
||||
"prettier-plugin-svelte": "^2.10.1",
|
||||
"sass": "^1.54.9",
|
||||
"svelte": "^4.0.0",
|
||||
"svelte-check": "^3.4.3",
|
||||
"svelte-preprocess": "^5.0.3",
|
||||
"tslib": "^2.3.1",
|
||||
"typescript": "^5.0.0",
|
||||
"vite": "^5.0.0",
|
||||
"vitest": "^1.0.0"
|
||||
"@sveltejs/adapter-auto": "^3.3.1",
|
||||
"@sveltejs/adapter-netlify": "^4.4.0",
|
||||
"@sveltejs/kit": "^2.15.1",
|
||||
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
||||
"@types/leaflet": "^1.9.15",
|
||||
"@types/sanitize-html": "^2.13.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
||||
"@typescript-eslint/parser": "^5.62.0",
|
||||
"eslint": "^9.17.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-plugin-svelte": "^2.46.1",
|
||||
"prettier": "^3.4.2",
|
||||
"prettier-plugin-svelte": "^3.3.2",
|
||||
"sass": "^1.83.1",
|
||||
"svelte": "^4.2.19",
|
||||
"svelte-check": "^3.8.6",
|
||||
"svelte-preprocess": "^5.1.4",
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.7.2",
|
||||
"vite": "^5.4.11",
|
||||
"vitest": "^1.6.0"
|
||||
},
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@types/js-yaml": "^4.0.5",
|
||||
"date-fns": "^2.29.2",
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"date-fns": "^2.30.0",
|
||||
"feed": "^4.2.2",
|
||||
"js-yaml": "^4.1.0",
|
||||
"just-shuffle": "^4.2.0",
|
||||
"leaflet": "^1.8.0",
|
||||
"mdsvex": "^0.10.5",
|
||||
"mongodb": "^4.8.1",
|
||||
"leaflet": "^1.9.4",
|
||||
"mdsvex": "^0.10.6",
|
||||
"mongodb": "^4.17.2",
|
||||
"nanoid": "3.3.4",
|
||||
"node-fetch": "^3.2.10",
|
||||
"rehype-stringify": "^9.0.3",
|
||||
"remark": "^14.0.2",
|
||||
"node-fetch": "^3.3.2",
|
||||
"rehype-stringify": "^9.0.4",
|
||||
"remark": "^14.0.3",
|
||||
"remark-frontmatter": "^4.0.1",
|
||||
"remark-parse": "^10.0.1",
|
||||
"remark-parse": "^10.0.2",
|
||||
"remark-rehype": "^10.1.0",
|
||||
"remark-stringify": "^10.0.2",
|
||||
"sanitize-html": "^2.7.0",
|
||||
"strip-markdown": "^5.0.0",
|
||||
"to-vfile": "^7.2.3",
|
||||
"remark-stringify": "^10.0.3",
|
||||
"sanitize-html": "^2.14.0",
|
||||
"strip-markdown": "^5.0.1",
|
||||
"to-vfile": "^7.2.4",
|
||||
"unified": "^10.1.2",
|
||||
"zod": "^3.22.2"
|
||||
"zod": "^3.24.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20.11.1"
|
||||
|
|
|
|||
5511
pnpm-lock.yaml
Normal file
5511
pnpm-lock.yaml
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -44,6 +44,7 @@ export class MarkdownRepository {
|
|||
readonly blogPosts: BlogPostSet;
|
||||
readonly bookReviews: BookReviewSet;
|
||||
readonly snoutStreetStudiosPosts: SnoutStreetStudiosPostSet;
|
||||
private static _singleton: MarkdownRepository;
|
||||
|
||||
private constructor(
|
||||
blogPosts: BlogPost[],
|
||||
|
|
@ -56,17 +57,21 @@ export class MarkdownRepository {
|
|||
}
|
||||
|
||||
public static async singleton(): Promise<MarkdownRepository> {
|
||||
return await MarkdownRepository.fromViteGlobImport(
|
||||
blogPostMetaGlobImport,
|
||||
bookReviewsMetaGlobImport,
|
||||
snoutStreetStudiosPostMetaGlobImport
|
||||
);
|
||||
if (!this._singleton) {
|
||||
this._singleton = await MarkdownRepository.fromViteGlobImport(
|
||||
blogPostMetaGlobImport,
|
||||
bookReviewsMetaGlobImport,
|
||||
snoutStreetStudiosPostMetaGlobImport
|
||||
);
|
||||
}
|
||||
|
||||
return this._singleton;
|
||||
}
|
||||
|
||||
public static async fromViteGlobImport(
|
||||
blogGlobImport,
|
||||
bookReviewGlobImport,
|
||||
snoutStreetPostGlobImport
|
||||
blogGlobImport: any,
|
||||
bookReviewGlobImport: any,
|
||||
snoutStreetPostGlobImport: any
|
||||
): Promise<MarkdownRepository> {
|
||||
let fileImports: MarkdownFile<BlogPostFrontmatterValues>[] = [];
|
||||
let blogPosts: BlogPost[] = [];
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
import { BlogController } from '../lib/blog/BlogController.js';
|
||||
import type { PageServerLoad } from './$types';
|
||||
import type { PageServerLoad } from './$types.js';
|
||||
|
||||
export const load: PageServerLoad = async () => {
|
||||
try {
|
||||
const controller = await BlogController.singleton();
|
||||
const latestBlogPosts = await controller.getAllBlogPosts(3);
|
||||
return { latestBlogPosts }
|
||||
return { latestBlogPosts };
|
||||
} catch (error) {
|
||||
console.error({
|
||||
message: `Caught error in GET /api/blog.json`,
|
||||
error: JSON.stringify(error),
|
||||
});
|
||||
return { latestBlogPosts: [] }
|
||||
return { latestBlogPosts: [] };
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ export const GET = async ({ params }: LoadEvent) => {
|
|||
const post = await controller.getAnyKindOfContentBySlug(slug);
|
||||
|
||||
if (!post) {
|
||||
console.error(`Could not find blog post with slug '${slug}'`);
|
||||
error(404, `Could not find blog post with slug '${slug}'`);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
import type { PageData } from "./$types.js";
|
||||
import Navbar from "$lib/components/Navbar.svelte";
|
||||
import BlogPostListItem from "./BlogPostListItem.svelte";
|
||||
import SummerHours2024 from "../../components/SummerHours2024.svelte";
|
||||
|
||||
export let data: PageData;
|
||||
|
||||
|
|
@ -45,8 +44,7 @@
|
|||
<Navbar />
|
||||
<main class="thomaswilson-container">
|
||||
<section class="thomaswilson-strapline section heading">
|
||||
<h1>Blog</h1>
|
||||
<SummerHours2024 isActive={false} />
|
||||
<h1 class="page-title">Blog</h1>
|
||||
<p class="heading__text">
|
||||
It has been been
|
||||
<span
|
||||
|
|
@ -88,19 +86,33 @@
|
|||
</main>
|
||||
|
||||
<style lang="scss">
|
||||
.page-title {
|
||||
font-size: 2.5rem;
|
||||
margin: 0;
|
||||
line-height: 100%;
|
||||
}
|
||||
|
||||
.heading {
|
||||
padding: 0;
|
||||
gap: var(--spacing-base);
|
||||
display: grid;
|
||||
grid-template-columns: 100%;
|
||||
}
|
||||
|
||||
.heading__text {
|
||||
font-family: sans-serif;
|
||||
margin: 0;
|
||||
line-height: 150%;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
.posts {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: grid;
|
||||
grid-template-columns: 100%;
|
||||
gap: var(--spacing-base);
|
||||
gap: var(--spacing-xl);
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
|
|
@ -110,7 +122,9 @@
|
|||
border: 1px solid var(--brand-orange);
|
||||
border-radius: 4px;
|
||||
padding: 8px;
|
||||
margin: 0 4px;
|
||||
font-family: monospace;
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
.days-since-success {
|
||||
|
|
|
|||
|
|
@ -6,23 +6,20 @@
|
|||
export let book_review: boolean;
|
||||
export let title: string;
|
||||
export let preview: string;
|
||||
export let slug: string
|
||||
export let slug: string;
|
||||
export let date: string;
|
||||
export let content_type: "blog" | "book_review" | "snout_street_studios";
|
||||
|
||||
$: formattedDate = formatDate(
|
||||
new Date(date),
|
||||
'yyyy-MM-dd',
|
||||
);
|
||||
$: formattedDate = formatDate(new Date(date), "yyyy-MM-dd");
|
||||
</script>
|
||||
|
||||
<li
|
||||
class="post"
|
||||
role="article"
|
||||
aria-posinset="{index + 1}"
|
||||
aria-setsize="{numberOfPosts}"
|
||||
aria-posinset={index + 1}
|
||||
aria-setsize={numberOfPosts}
|
||||
>
|
||||
<a href="{`/blog/${slug}`}">
|
||||
<a href={`/blog/${slug}`}>
|
||||
<div class="post__title">
|
||||
{#if content_type === "book_review"}
|
||||
📚
|
||||
|
|
@ -49,7 +46,7 @@
|
|||
<style>
|
||||
.post {
|
||||
border: 1px solid var(--gray-200);
|
||||
padding: var(--spacing-md);
|
||||
padding: var(--spacing-lg);
|
||||
transition: 0.2s;
|
||||
border-radius: 8px;
|
||||
max-width: 100%;
|
||||
|
|
@ -72,18 +69,20 @@
|
|||
text-decoration: underline;
|
||||
font-family: var(--font-family-title);
|
||||
font-weight: 600;
|
||||
padding-bottom: 4px;
|
||||
font-size: 1.1rem;
|
||||
padding-bottom: var(--spacing-md);
|
||||
font-size: var(--font-size);
|
||||
letter-spacing: 0px;
|
||||
}
|
||||
|
||||
.post__preview {
|
||||
font-size: var(--font-size-sm);
|
||||
letter-spacing: -0.5px;
|
||||
line-height: 135%;
|
||||
color: var(--gray-600);
|
||||
padding-bottom: var(--spacing-md);
|
||||
}
|
||||
|
||||
.post__date {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.post__preview {
|
||||
font-size: 0.95rem;
|
||||
line-height: 140%;
|
||||
color: var(--gray-600);
|
||||
padding-bottom: 2px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -1,113 +1,110 @@
|
|||
@font-face {
|
||||
font-family: "FivoSansModern-Regular";
|
||||
src: url("/FivoSansModern-Regular.otf");
|
||||
font-display: swap;
|
||||
font-family: 'FivoSansModern-Regular';
|
||||
src: url('/FivoSansModern-Regular.otf');
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
:root {
|
||||
--brand-orange: #ff8c0d;
|
||||
--brand-purple: #464d77;
|
||||
--brand-green: #36827f;
|
||||
--brand-blue: #00a0e9;
|
||||
--white: #fff;
|
||||
--gray-100: #f8f9fa;
|
||||
--gray-200: #e9ecef;
|
||||
--gray-300: #dee2e6;
|
||||
--gray-400: #ced4da;
|
||||
--gray-500: #adb5bd;
|
||||
--gray-600: #6c757d;
|
||||
--gray-700: #495057;
|
||||
--gray-800: #343a40;
|
||||
--gray-900: #212529;
|
||||
--gray-950: #1a1e23;
|
||||
--gray-1000: #0a0c0e;
|
||||
--font-family-mono: monospace;
|
||||
--font-family-title: "FivoSansModern-Regular", sans-serif;
|
||||
--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
||||
"Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
|
||||
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--font-family-serif: Georgia, Cambria, "Times New Roman", Times, serif;
|
||||
--brand-orange: #ff8c0d;
|
||||
--brand-purple: #464d77;
|
||||
--brand-green: #36827f;
|
||||
--brand-blue: #00a0e9;
|
||||
--white: #fff;
|
||||
--gray-100: #f8f9fa;
|
||||
--gray-200: #e9ecef;
|
||||
--gray-300: #dee2e6;
|
||||
--gray-400: #ced4da;
|
||||
--gray-500: #adb5bd;
|
||||
--gray-600: #6c757d;
|
||||
--gray-700: #495057;
|
||||
--gray-800: #343a40;
|
||||
--gray-900: #212529;
|
||||
--gray-950: #1a1e23;
|
||||
--gray-1000: #0a0c0e;
|
||||
--font-family-mono: monospace;
|
||||
--font-family-title: 'FivoSansModern-Regular', sans-serif;
|
||||
--font-family-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans',
|
||||
sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
|
||||
--font-family-serif: Georgia, Cambria, 'Times New Roman', Times, serif;
|
||||
|
||||
--line-height: 120%;
|
||||
--line-height-sm: 120%;
|
||||
--line-height-md: 140%;
|
||||
--line-height-lg: 145%;
|
||||
--line-height: 120%;
|
||||
--line-height-sm: 120%;
|
||||
--line-height-md: 140%;
|
||||
--line-height-lg: 145%;
|
||||
|
||||
--font-size-xs: 0.75rem;
|
||||
--font-size-sm: 0.875rem;
|
||||
--font-size-base: 1rem;
|
||||
--font-size-lg: 1.25rem;
|
||||
--font-size-xl: 1.5rem;
|
||||
--font-size-2xl: 2rem;
|
||||
--spacing-base: 1rem;
|
||||
--spacing-sm: 0.25rem;
|
||||
--spacing-md: 0.5rem;
|
||||
--spacing-lg: 1rem;
|
||||
--spacing-xl: 1.5rem;
|
||||
--navbar-height: 75px;
|
||||
--font-size-xs: 0.75rem;
|
||||
--font-size-sm: 0.875rem;
|
||||
--font-size-base: 1rem;
|
||||
--font-size-lg: 1.25rem;
|
||||
--font-size-xl: 1.5rem;
|
||||
--font-size-2xl: 2rem;
|
||||
--spacing-base: 1rem;
|
||||
--spacing-sm: 4px;
|
||||
--spacing-md: 8px;
|
||||
--spacing-lg: 12px;
|
||||
--spacing-xl: 16px;
|
||||
--navbar-height: 75px;
|
||||
|
||||
--font-size-sm: 0.875rem;
|
||||
--font-size: 1.12rem;
|
||||
--font-size-md: 1.25rem;
|
||||
--font-size-lg: 1.5rem;
|
||||
--font-size-sm: 0.875rem;
|
||||
--font-size: 1.12rem;
|
||||
--font-size-md: 1.25rem;
|
||||
--font-size-lg: 1.5rem;
|
||||
|
||||
--btn-border: 0;
|
||||
--btn-padding: var(--spacing-sm);
|
||||
--btn-border-radius: 0.25rem;
|
||||
--btn-font-size: 1.08rem;
|
||||
--btn-text-decoration: none;
|
||||
--btn-border: 0;
|
||||
--btn-padding: var(--spacing-sm);
|
||||
--btn-border-radius: 0.25rem;
|
||||
--btn-font-size: 1.08rem;
|
||||
--btn-text-decoration: none;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: var(--font-family-sans);
|
||||
line-height: var(--line-height-md);
|
||||
min-height: 100vh;
|
||||
background-color: var(--colour-scheme-background, black);
|
||||
color: var(--colour-scheme-text);
|
||||
transition: 0.3s ease;
|
||||
transition-property: background-color, color;
|
||||
font-family: var(--font-family-sans);
|
||||
line-height: var(--line-height-md);
|
||||
min-height: 100vh;
|
||||
background-color: var(--colour-scheme-background, black);
|
||||
color: var(--colour-scheme-text);
|
||||
transition: 0.3s ease;
|
||||
transition-property: background-color, color;
|
||||
}
|
||||
|
||||
.thomaswilson-container {
|
||||
--container-padding: 24px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: calc(
|
||||
100vh - var(--navbar-height) - calc(2 * var(--container-padding))
|
||||
);
|
||||
padding: var(--container-padding);
|
||||
--container-padding: 24px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: calc(100vh - var(--navbar-height) - calc(2 * var(--container-padding)));
|
||||
padding: var(--container-padding);
|
||||
}
|
||||
|
||||
.thomaswilson-container .section {
|
||||
padding: 24px;
|
||||
width: 100%;
|
||||
max-width: 750px;
|
||||
font-size: 1.19rem;
|
||||
line-height: var(--line-height-md);
|
||||
padding-bottom: var(--spacing-base);
|
||||
padding-bottom: 2rem;
|
||||
padding: 24px;
|
||||
width: 100%;
|
||||
max-width: 750px;
|
||||
font-size: 1.19rem;
|
||||
line-height: var(--line-height-md);
|
||||
padding-bottom: var(--spacing-base);
|
||||
padding-bottom: 2rem;
|
||||
}
|
||||
|
||||
.thomaswilson-strapline .title {
|
||||
font-family: var(--font-family-title);
|
||||
font-size: var(--font-size-base);
|
||||
font-weight: 700;
|
||||
margin: 0;
|
||||
font-family: var(--font-family-title);
|
||||
font-size: var(--font-size-base);
|
||||
font-weight: 700;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.thomaswilson-strapline p {
|
||||
font-size: var(--font-size-md);
|
||||
line-height: var(--line-height-md);
|
||||
letter-spacing: -0.25px;
|
||||
font-weight: 200;
|
||||
font-size: var(--font-size-md);
|
||||
line-height: var(--line-height-md);
|
||||
letter-spacing: -0.25px;
|
||||
font-weight: 200;
|
||||
}
|
||||
|
||||
@container (width < 500px) {
|
||||
.thomaswilson-strapline p {
|
||||
font-size: ;
|
||||
}
|
||||
.thomaswilson-strapline p {
|
||||
font-size: ;
|
||||
}
|
||||
}
|
||||
|
||||
h1,
|
||||
|
|
@ -116,75 +113,75 @@ h3,
|
|||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: var(--font-family-title);
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
color: var(--colour-scheme-text);
|
||||
padding-top: 12px;
|
||||
padding-bottom: 8px;
|
||||
line-height: var(--line-height);
|
||||
letter-spacing: 1.5px;
|
||||
font-family: var(--font-family-title);
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
color: var(--colour-scheme-text);
|
||||
padding-top: 12px;
|
||||
padding-bottom: 8px;
|
||||
line-height: var(--line-height);
|
||||
letter-spacing: 1.5px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 2.25rem;
|
||||
padding-top: 0.7rem;
|
||||
padding-bottom: 0.5rem;
|
||||
font-size: 2.25rem;
|
||||
padding-top: 0.7rem;
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
p,
|
||||
li,
|
||||
a,
|
||||
blockquote {
|
||||
font-size: var(--font-size);
|
||||
line-height: var(--line-height-lg);
|
||||
font-family: var(--font-family-mono);
|
||||
margin: 0;
|
||||
color: var(--colour-scheme-text);
|
||||
padding: 4px 0;
|
||||
letter-spacing: -1px;
|
||||
font-size: var(--font-size);
|
||||
line-height: var(--line-height-lg);
|
||||
font-family: var(--font-family-mono);
|
||||
margin: 0;
|
||||
color: var(--colour-scheme-text);
|
||||
padding: 4px 0;
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-style: solid;
|
||||
padding: 0.25rem 0 0.5rem 1rem;
|
||||
border-width: 0px;
|
||||
border-left: 4px solid var(--brand-orange);
|
||||
opacity: 0.85;
|
||||
max-width: 60ch;
|
||||
border-style: solid;
|
||||
padding: 0.25rem 0 0.5rem 1rem;
|
||||
border-width: 0px;
|
||||
border-left: 4px solid var(--brand-orange);
|
||||
opacity: 0.85;
|
||||
max-width: 60ch;
|
||||
}
|
||||
|
||||
ul,
|
||||
ol {
|
||||
padding-left: var(--spacing-base);
|
||||
padding-left: var(--spacing-base);
|
||||
}
|
||||
|
||||
.thomaswilson-button {
|
||||
border: var(--btn-border);
|
||||
padding: var(--btn-padding);
|
||||
border-radius: var(--btn-border-radius);
|
||||
font-size: var(--btn-font-size);
|
||||
text-decoration: var(--btn-text-decoration);
|
||||
border: var(--btn-border);
|
||||
padding: var(--btn-padding);
|
||||
border-radius: var(--btn-border-radius);
|
||||
font-size: var(--btn-font-size);
|
||||
text-decoration: var(--btn-text-decoration);
|
||||
}
|
||||
|
||||
.thomaswilson-button:hover {
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.sr-only {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
border-width: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
|
|
|||
90
yarn-error.log
Normal file
90
yarn-error.log
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
Arguments:
|
||||
/Users/wilson/.nvm/versions/node/v22.12.0/bin/node /usr/local/bin/yarn
|
||||
|
||||
PATH:
|
||||
/Users/wilson/.rvm/gems/ruby-3.0.0/bin:/Users/wilson/.rvm/gems/ruby-3.0.0@global/bin:/Users/wilson/.rvm/rubies/ruby-3.0.0/bin:/Users/wilson/.nvm/versions/node/v22.12.0/bin:/usr/local/opt/node@20/bin:/usr/local/opt/go@1.21/bin:/Users/wilson/.bun/bin:/Users/wilson/Library/Preferences/netlify/helper/bin:/Users/wilson/Library/pnpm:/Users/wilson/go/bin:/Users/wilson/.deno/bin:/usr/local/sbin:/Users/wilson/google-cloud-sdk/bin:/Users/wilson/.pyenv/shims:/Users/wilson/.cargo/env:/Users/wilson/development/flutter/bin:/Users/wilson/Library/Python/3.11/bin:/Users/wilson/.amplify/bin:/usr/local/opt/gawk/libexec/gnubin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Library/TeX/texbin:/usr/local/share/dotnet:~/.dotnet/tools:/Users/wilson/.cargo/bin:/usr/local/bin:/Users/wilson/.rvm/bin
|
||||
|
||||
Yarn version:
|
||||
1.22.17
|
||||
|
||||
Node version:
|
||||
22.12.0
|
||||
|
||||
Platform:
|
||||
darwin arm64
|
||||
|
||||
Trace:
|
||||
Error: ENOENT: no such file or directory, copyfile '/Users/wilson/Library/Caches/Yarn/v6/npm-glob-parent-6.0.2-6d237d99083950c79290f24c7642a3de9a28f9e3-integrity/node_modules/glob-parent/package.json' -> '/Users/wilson/Documents/projects/thomaswilson-xyz/thomaswilson-sveltekit/node_modules/eslint/node_modules/glob-parent/package.json'
|
||||
|
||||
npm manifest:
|
||||
{
|
||||
"name": "thomaswilson-sveltekit",
|
||||
"license": "UNLICENSED",
|
||||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
"build": "vite build",
|
||||
"preview": "vite preview",
|
||||
"check": "svelte-check --tsconfig ./tsconfig.json",
|
||||
"check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
|
||||
"lint": "prettier --ignore-path .gitignore --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .",
|
||||
"format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. .",
|
||||
"test": "vitest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-auto": "^3.3.1",
|
||||
"@sveltejs/adapter-netlify": "^4.4.0",
|
||||
"@sveltejs/kit": "^2.15.1",
|
||||
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
||||
"@types/leaflet": "^1.9.15",
|
||||
"@types/sanitize-html": "^2.13.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
||||
"@typescript-eslint/parser": "^5.62.0",
|
||||
"eslint": "^9.17.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-plugin-svelte": "^2.46.1",
|
||||
"prettier": "^3.4.2",
|
||||
"prettier-plugin-svelte": "^3.3.2",
|
||||
"sass": "^1.83.1",
|
||||
"svelte": "^4.2.19",
|
||||
"svelte-check": "^3.8.6",
|
||||
"svelte-preprocess": "^5.1.4",
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.7.2",
|
||||
"vite": "^5.4.11",
|
||||
"vitest": "^1.6.0"
|
||||
},
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"date-fns": "^2.30.0",
|
||||
"feed": "^4.2.2",
|
||||
"js-yaml": "^4.1.0",
|
||||
"just-shuffle": "^4.2.0",
|
||||
"leaflet": "^1.9.4",
|
||||
"mdsvex": "^0.10.6",
|
||||
"mongodb": "^4.17.2",
|
||||
"nanoid": "3.3.4",
|
||||
"node-fetch": "^3.3.2",
|
||||
"rehype-stringify": "^9.0.4",
|
||||
"remark": "^14.0.3",
|
||||
"remark-frontmatter": "^4.0.1",
|
||||
"remark-parse": "^10.0.2",
|
||||
"remark-rehype": "^10.1.0",
|
||||
"remark-stringify": "^10.0.3",
|
||||
"sanitize-html": "^2.14.0",
|
||||
"strip-markdown": "^5.0.1",
|
||||
"to-vfile": "^7.2.4",
|
||||
"unified": "^10.1.2",
|
||||
"zod": "^3.24.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20.11.1"
|
||||
}
|
||||
}
|
||||
|
||||
yarn manifest:
|
||||
No manifest
|
||||
|
||||
Lockfile:
|
||||
No lockfile
|
||||
Loading…
Reference in a new issue