Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs-src/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# syntax = docker/dockerfile:1

# Adjust NODE_VERSION as desired
ARG NODE_VERSION=20.10.0
ARG NODE_VERSION=22.22.2
FROM node:${NODE_VERSION}-slim as base

LABEL fly_launch_runtime="Astro"
Expand All @@ -13,7 +13,7 @@ WORKDIR /app
ENV NODE_ENV="production"

# Install pnpm
ARG PNPM_VERSION=9.2.0
ARG PNPM_VERSION=11.21.0
RUN npm install -g pnpm@$PNPM_VERSION


Expand Down
8 changes: 4 additions & 4 deletions docs-src/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/starlight": "^0.37.7",
"astro": "^5.18.2",
"@astrojs/starlight": "^0.42.0",
"astro": "^7.2.10",
"shepherd.js": "workspace:*",
"starlight-typedoc": "^0.21.5"
"starlight-typedoc": "^0.23.1"
},
"devDependencies": {
"@astrojs/check": "^0.9.10",
"@flydotio/dockerfile": "^0.7.10",
"sharp": "^0.34.5",
"sharp": "^0.35.0",
"typedoc": "^0.28.20",
"typedoc-plugin-markdown": "^4.12.0",
"typescript": "^5.9.3"
Expand Down
3 changes: 1 addition & 2 deletions docs-src/src/components/HeadWithPosthog.astro
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
import type { Props } from '@astrojs/starlight/props';
import Default from '@astrojs/starlight/components/Head.astro';
import PostHog from './Posthog.astro';
---

<Default {...Astro.props}><slot /></Default>
<Default><slot /></Default>
<PostHog />
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { defineCollection } from 'astro:content';
import { docsLoader } from '@astrojs/starlight/loaders';
import { docsSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({ schema: docsSchema() }),
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
};
10 changes: 5 additions & 5 deletions landing/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,19 @@
"test:watch": "vitest"
},
"dependencies": {
"@astrojs/mdx": "^5.0.6",
"@astrojs/vercel": "^9.0.5",
"@astrojs/mdx": "^8.0.0",
"@astrojs/vercel": "^11.0.9",
"@polar-sh/astro": "^0.7.6",
"astro": "^5.18.2",
"astro": "^7.2.10",
"shepherd.js": "workspace:*"
},
"devDependencies": {
"@astrojs/check": "^0.9.10",
"@astrojs/rss": "^4.0.19",
"@astrojs/sitemap": "^3.7.3",
"@astrojs/sitemap": "^3.7.4",
"@tailwindcss/typography": "^0.5.20",
"@tailwindcss/vite": "^4.3.3",
"sharp": "^0.34.5",
"sharp": "^0.35.0",
"tailwindcss": "^4.3.3",
"typescript": "^5.9.3",
"vite": "^8.2.1",
Expand Down
4 changes: 2 additions & 2 deletions landing/src/components/BaseHead.astro
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
import { ViewTransitions } from 'astro:transitions';
import { ClientRouter } from 'astro:transitions';
import PostHog from './Posthog.astro';

// Import the global.css file here so that it is included on
Expand Down Expand Up @@ -190,4 +190,4 @@ const structuredData = {
<!-- Structured data -->
<script type="application/ld+json" set:html={JSON.stringify(structuredData)} />

<ViewTransitions />
<ClientRouter />
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import { defineCollection, z } from 'astro:content';
import { defineCollection } from 'astro:content';
import { glob } from 'astro/loaders';
import { z } from 'astro/zod';

const blog = defineCollection({
loader: glob({ pattern: '**/*.{md,mdx}', base: './src/content/blog' }),
// Type-check frontmatter using a schema
schema: z.object({
title: z.string(),
Expand Down
6 changes: 3 additions & 3 deletions landing/src/pages/blog/[...slug].astro
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
---
import { type CollectionEntry, getCollection } from 'astro:content';
import { type CollectionEntry, getCollection, render } from 'astro:content';
import { Image } from 'astro:assets';
import BlogPost from '@layouts/BlogPost.astro';

export async function getStaticPaths() {
const posts = await getCollection('blog');
return posts.map((post) => ({
params: { slug: post.slug },
params: { slug: post.id },
props: post
}));
}
type Props = CollectionEntry<'blog'>;

const post = Astro.props;
const { Content } = await post.render();
const { Content } = await render(post);
---

<BlogPost {...post.data}>
Expand Down
2 changes: 1 addition & 1 deletion landing/src/pages/blog/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const posts = (await getCollection('blog')).sort(
<li class="grid grid-cols-[1fr] md:grid-cols-[1fr_auto] mb-3 md:gap-2 items-start">
<div class="before:float-left before:leading-7 before:text-red-300 before:text-sm before:mr-2 before:content-['>>']">
<a
href={`/blog/${post.slug}`}
href={`/blog/${post.id}`}
class="unset hover:text-navy-light"
>
<h4 class="font-bold font-title">{post.data.title}</h4>
Expand Down
2 changes: 1 addition & 1 deletion landing/src/pages/rss.xml.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export async function GET(context) {
site: context.site,
items: posts.map((post) => ({
...post.data,
link: `/blog/${post.slug}/`,
link: `/blog/${post.id}/`,
})),
});
}
4 changes: 3 additions & 1 deletion landing/test/dist.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ describe.skipIf(!staticDir)('build output', () => {
.map((route: { src: string }) => route.src);

expect(functionRoutes).toContain('^/$');
expect(functionRoutes).toContain('^/index\\.md/?$');
// Since Astro 6, endpoints with a file extension are not served with a
// trailing slash, so the emitted route pattern has no trailing `/?`.
expect(functionRoutes).toContain('^/index\\.md$');
});
});
14 changes: 13 additions & 1 deletion landing/test/setup/dev-server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@ const landingDir = fileURLToPath(new URL('../..', import.meta.url));

let devServer: ChildProcess | undefined;

// The child must not inherit Vitest's env markers: Astro 7 backgrounds
// `astro dev` into a detached daemon when it detects an AI coding agent
// (this setup owns the server lifecycle itself, so opt out via
// ASTRO_DEV_BACKGROUND), and Vite serves 404s for every route when it
// sees VITEST in the environment.
const devServerEnv: NodeJS.ProcessEnv = {
...process.env,
ASTRO_DEV_BACKGROUND: '0'
};
delete devServerEnv.VITEST;

async function waitForServer(url: string, timeoutMs: number): Promise<void> {
const deadline = Date.now() + timeoutMs;

Expand Down Expand Up @@ -41,7 +52,8 @@ export default async function setup(): Promise<() => void> {
{
cwd: landingDir,
stdio: 'ignore',
detached: true
detached: true,
env: devServerEnv
}
);

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
},
"packageManager": "pnpm@11.21.0",
"engines": {
"node": ">= 20"
"node": ">= 22.12"
},
"authors": [
"Robbie Wagner <rwwagner90@gmail.com>",
Expand Down
Loading
Loading