astro-awesomeness 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,60 +10,22 @@ declare const postSchema: z.ZodObject<{
10
10
  coverAlt: z.ZodOptional<z.ZodString>;
11
11
  description: z.ZodString;
12
12
  draft: z.ZodDefault<z.ZodBoolean>;
13
- pubDate: z.ZodDate;
13
+ pubDate: z.ZodCoercedDate<unknown>;
14
14
  series: z.ZodOptional<z.ZodString>;
15
- tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
15
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
16
16
  title: z.ZodString;
17
- updatedDate: z.ZodOptional<z.ZodDate>;
18
- }, "strip", z.ZodTypeAny, {
19
- description: string;
20
- draft: boolean;
21
- pubDate: Date;
22
- tags: string[];
23
- title: string;
24
- author?: string | undefined;
25
- cover?: string | undefined;
26
- coverAlt?: string | undefined;
27
- series?: string | undefined;
28
- updatedDate?: Date | undefined;
29
- }, {
30
- description: string;
31
- pubDate: Date;
32
- title: string;
33
- author?: string | undefined;
34
- cover?: string | undefined;
35
- coverAlt?: string | undefined;
36
- draft?: boolean | undefined;
37
- series?: string | undefined;
38
- tags?: string[] | undefined;
39
- updatedDate?: Date | undefined;
40
- }>;
17
+ updatedDate: z.ZodOptional<z.ZodCoercedDate<unknown>>;
18
+ }, z.core.$strip>;
41
19
  declare const tagSchema: z.ZodObject<{
42
20
  description: z.ZodOptional<z.ZodString>;
43
21
  name: z.ZodString;
44
- }, "strip", z.ZodTypeAny, {
45
- name: string;
46
- description?: string | undefined;
47
- }, {
48
- name: string;
49
- description?: string | undefined;
50
- }>;
22
+ }, z.core.$strip>;
51
23
  declare const authorSchema: z.ZodObject<{
52
24
  avatar: z.ZodOptional<z.ZodString>;
53
25
  bio: z.ZodOptional<z.ZodString>;
54
26
  name: z.ZodString;
55
- url: z.ZodOptional<z.ZodString>;
56
- }, "strip", z.ZodTypeAny, {
57
- name: string;
58
- avatar?: string | undefined;
59
- bio?: string | undefined;
60
- url?: string | undefined;
61
- }, {
62
- name: string;
63
- avatar?: string | undefined;
64
- bio?: string | undefined;
65
- url?: string | undefined;
66
- }>;
27
+ url: z.ZodOptional<z.ZodURL>;
28
+ }, z.core.$strip>;
67
29
  type Post = z.infer<typeof postSchema>;
68
30
  type Tag = z.infer<typeof tagSchema>;
69
31
  type Author = z.infer<typeof authorSchema>;
@@ -26,7 +26,7 @@ const authorSchema = z.object({
26
26
  avatar: z.string().optional(),
27
27
  bio: z.string().optional(),
28
28
  name: z.string().min(1),
29
- url: z.string().url().optional()
29
+ url: z.url().optional()
30
30
  });
31
31
  //#endregion
32
32
  export { authorSchema, postSchema, content_exports as t, tagSchema };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/content/index.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst postSchema = z.object({\n author: z.string().optional(),\n cover: z.string().optional(),\n coverAlt: z.string().optional(),\n description: z.string().min(1),\n draft: z.boolean().default(false),\n pubDate: z.coerce.date(),\n series: z.string().optional(),\n tags: z.array(z.string()).default([]),\n title: z.string().min(1),\n updatedDate: z.coerce.date().optional(),\n});\n\nconst tagSchema = z.object({\n description: z.string().optional(),\n name: z.string().min(1),\n});\n\nconst authorSchema = z.object({\n avatar: z.string().optional(),\n bio: z.string().optional(),\n name: z.string().min(1),\n url: z.string().url().optional(),\n});\n\ntype Post = z.infer<typeof postSchema>;\ntype Tag = z.infer<typeof tagSchema>;\ntype Author = z.infer<typeof authorSchema>;\n\nexport { authorSchema, postSchema, tagSchema };\nexport type { Author, Post, Tag };\n"],"mappings":";;;;;;;;AAEA,MAAM,aAAa,EAAE,OAAO;CAC1B,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC5B,OAAO,EAAE,OAAO,EAAE,SAAS;CAC3B,UAAU,EAAE,OAAO,EAAE,SAAS;CAC9B,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC;CAC7B,OAAO,EAAE,QAAQ,EAAE,QAAQ,KAAK;CAChC,SAAS,EAAE,OAAO,KAAK;CACvB,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC5B,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;CACpC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;CACvB,aAAa,EAAE,OAAO,KAAK,EAAE,SAAS;AACxC,CAAC;AAED,MAAM,YAAY,EAAE,OAAO;CACzB,aAAa,EAAE,OAAO,EAAE,SAAS;CACjC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,eAAe,EAAE,OAAO;CAC5B,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC5B,KAAK,EAAE,OAAO,EAAE,SAAS;CACzB,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;CACtB,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AACjC,CAAC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/content/index.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst postSchema = z.object({\n author: z.string().optional(),\n cover: z.string().optional(),\n coverAlt: z.string().optional(),\n description: z.string().min(1),\n draft: z.boolean().default(false),\n pubDate: z.coerce.date(),\n series: z.string().optional(),\n tags: z.array(z.string()).default([]),\n title: z.string().min(1),\n updatedDate: z.coerce.date().optional(),\n});\n\nconst tagSchema = z.object({\n description: z.string().optional(),\n name: z.string().min(1),\n});\n\nconst authorSchema = z.object({\n avatar: z.string().optional(),\n bio: z.string().optional(),\n name: z.string().min(1),\n url: z.url().optional(),\n});\n\ntype Post = z.infer<typeof postSchema>;\ntype Tag = z.infer<typeof tagSchema>;\ntype Author = z.infer<typeof authorSchema>;\n\nexport { authorSchema, postSchema, tagSchema };\nexport type { Author, Post, Tag };\n"],"mappings":";;;;;;;;AAEA,MAAM,aAAa,EAAE,OAAO;CAC1B,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC5B,OAAO,EAAE,OAAO,EAAE,SAAS;CAC3B,UAAU,EAAE,OAAO,EAAE,SAAS;CAC9B,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC;CAC7B,OAAO,EAAE,QAAQ,EAAE,QAAQ,KAAK;CAChC,SAAS,EAAE,OAAO,KAAK;CACvB,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC5B,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;CACpC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;CACvB,aAAa,EAAE,OAAO,KAAK,EAAE,SAAS;AACxC,CAAC;AAED,MAAM,YAAY,EAAE,OAAO;CACzB,aAAa,EAAE,OAAO,EAAE,SAAS;CACjC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,eAAe,EAAE,OAAO;CAC5B,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC5B,KAAK,EAAE,OAAO,EAAE,SAAS;CACzB,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;CACtB,KAAK,EAAE,IAAI,EAAE,SAAS;AACxB,CAAC"}
@@ -142,14 +142,14 @@
142
142
  margin-bottom: 1em;
143
143
  }
144
144
  .prose a {
145
- color: var(--color-accent-foreground);
145
+ color: var(--color-primary);
146
146
  text-decoration: underline;
147
147
  text-underline-offset: 0.2em;
148
148
  text-decoration-color: var(--color-border);
149
149
  transition: text-decoration-color 0.15s;
150
150
  }
151
151
  .prose a:hover {
152
- text-decoration-color: var(--color-accent-foreground);
152
+ text-decoration-color: var(--color-primary);
153
153
  }
154
154
  .prose blockquote {
155
155
  margin: 1.5em 0;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "astro-awesomeness",
3
- "version": "0.1.3",
4
- "description": "Astro 5 blog theme with shadcn primitives and a Tailwind v4 preset.",
3
+ "version": "0.2.0",
4
+ "description": "Astro 6 blog theme with shadcn primitives and a Tailwind v4 preset.",
5
5
  "keywords": [
6
6
  "astro",
7
7
  "astro-theme",
@@ -44,26 +44,26 @@
44
44
  "class-variance-authority": "^0.7.1",
45
45
  "clsx": "^2.1.1",
46
46
  "cmdk": "^1.1.1",
47
- "lucide-react": "^1.14.0",
47
+ "lucide-react": "^1.16.0",
48
48
  "radix-ui": "^1.4.3",
49
49
  "tailwind-merge": "^3.6.0",
50
50
  "tw-animate-css": "^1.4.0",
51
- "zod": "^3.24.0"
51
+ "zod": "^4.4.3"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@tailwindcss/postcss": "^4.3.0",
55
55
  "@types/node": "^24.0.0",
56
- "@types/react": "^19.2.14",
57
- "@types/react-dom": "^19.2.0",
58
- "@vitest/coverage-v8": "^4.1.5",
59
- "happy-dom": "^15.11.0",
56
+ "@types/react": "^19.2.15",
57
+ "@types/react-dom": "^19.2.3",
58
+ "@vitest/coverage-v8": "^4.1.7",
59
+ "happy-dom": "^20.9.0",
60
60
  "tailwindcss": "^4.3.0",
61
61
  "typescript": "^6.0.3",
62
- "vitest": "^4.1.5",
62
+ "vitest": "^4.1.7",
63
63
  "@repo/typescript-config": "0.0.0"
64
64
  },
65
65
  "peerDependencies": {
66
- "astro": "^5.0.0",
66
+ "astro": "^6.0.0",
67
67
  "react": "^19.0.0",
68
68
  "react-dom": "^19.0.0",
69
69
  "tailwindcss": "^4.0.0"
@@ -17,7 +17,7 @@ const {
17
17
  ---
18
18
  <header class:list={["border-border bg-background/80 sticky top-0 z-40 border-b backdrop-blur", className]}>
19
19
  <div class="mx-auto flex max-w-3xl items-center justify-between px-4 py-3">
20
- <a href={homeHref} class="text-foreground text-base font-semibold tracking-tight">
20
+ <a href={homeHref} class="text-primary text-base font-semibold tracking-tight">
21
21
  <slot name="brand">{siteTitle}</slot>
22
22
  </a>
23
23
  <nav class="flex items-center gap-2">
@@ -16,7 +16,7 @@ const href = `/blog/${post.id}`;
16
16
  ---
17
17
  <article class="border-border group border-b py-6 last:border-0">
18
18
  <a href={href} class="block">
19
- <h2 class="text-foreground group-hover:text-accent-foreground text-xl font-semibold tracking-tight transition-colors">
19
+ <h2 class="text-foreground group-hover:text-primary text-xl font-semibold tracking-tight transition-colors">
20
20
  {title}
21
21
  </h2>
22
22
  <div class="text-muted-foreground mt-1 flex items-center gap-2 text-sm">
@@ -22,7 +22,7 @@ const authorSchema = z.object({
22
22
  avatar: z.string().optional(),
23
23
  bio: z.string().optional(),
24
24
  name: z.string().min(1),
25
- url: z.string().url().optional(),
25
+ url: z.url().optional(),
26
26
  });
27
27
 
28
28
  type Post = z.infer<typeof postSchema>;
@@ -20,7 +20,7 @@ const { title, description, posts, page, urlForPage, locale, siteTitle } = Astro
20
20
  <BaseLayout title={title} description={description} siteTitle={siteTitle}>
21
21
  <main class="mx-auto max-w-3xl px-4 py-10">
22
22
  <header class="mb-8">
23
- <h1 class="text-foreground text-3xl font-bold tracking-tight">{title}</h1>
23
+ <h1 class="text-primary text-3xl font-bold tracking-tight">{title}</h1>
24
24
  <p class="text-muted-foreground mt-2">{description}</p>
25
25
  </header>
26
26
  <section>
@@ -20,7 +20,7 @@ const { title, description, pubDate, updatedDate, tags } = post.data;
20
20
  <BaseLayout title={title} description={description} type="article" siteTitle={siteTitle}>
21
21
  <article class="mx-auto max-w-3xl px-4 py-10">
22
22
  <header class="mb-8">
23
- <h1 class="text-foreground text-3xl font-bold tracking-tight sm:text-4xl">{title}</h1>
23
+ <h1 class="text-primary text-3xl font-bold tracking-tight sm:text-4xl">{title}</h1>
24
24
  <div class="text-muted-foreground mt-3 flex flex-wrap items-center gap-x-3 gap-y-1 text-sm">
25
25
  <FormattedDate date={pubDate} locale={locale} />
26
26
  <span aria-hidden="true">·</span>
@@ -142,14 +142,14 @@
142
142
  margin-bottom: 1em;
143
143
  }
144
144
  .prose a {
145
- color: var(--color-accent-foreground);
145
+ color: var(--color-primary);
146
146
  text-decoration: underline;
147
147
  text-underline-offset: 0.2em;
148
148
  text-decoration-color: var(--color-border);
149
149
  transition: text-decoration-color 0.15s;
150
150
  }
151
151
  .prose a:hover {
152
- text-decoration-color: var(--color-accent-foreground);
152
+ text-decoration-color: var(--color-primary);
153
153
  }
154
154
  .prose blockquote {
155
155
  margin: 1.5em 0;