diff --git a/.github/workflows/ci.yml b/.github/workflows/test.yml similarity index 99% rename from .github/workflows/ci.yml rename to .github/workflows/test.yml index 4c31bcb..006ffc6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,7 @@ on: branches: [main] jobs: - ci: + test: runs-on: ubuntu-latest steps: diff --git a/.gitignore b/.gitignore index f1945f9..fae9b60 100644 --- a/.gitignore +++ b/.gitignore @@ -29,4 +29,7 @@ yarn-error.log* .vercel # AI -.claude/* \ No newline at end of file +.claude/* + +# Auto-generated files (generated during deployment) +/public/sitemap.xml \ No newline at end of file diff --git a/api/sitemap.xml.js b/api/sitemap.xml.js new file mode 100644 index 0000000..c1e91c9 --- /dev/null +++ b/api/sitemap.xml.js @@ -0,0 +1,18 @@ +// Vercel API Route: /api/sitemap.xml +export default function handler(req, res) { + const baseUrl = 'https://circassimilate.com'; + const lastmod = new Date().toISOString().split('T')[0]; + + const sitemap = ` + + + ${baseUrl} + ${lastmod} + monthly + 1.0 + +`; + + res.setHeader('Content-Type', 'text/xml'); + res.status(200).send(sitemap); +} \ No newline at end of file diff --git a/package.json b/package.json index 7c4ba02..a10c12d 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "scripts": { "dev": "vite", "build": "tsc && eslint src --ext .ts,.tsx,.js,.jsx && vite build", + "build:production": "tsc && eslint src --ext .ts,.tsx,.js,.jsx && node scripts/generate-sitemap.js && vite build", "preview": "vite preview", "test": "jest", "test:ci": "jest --coverage --watchAll=false", diff --git a/public/sitemap.xml b/public/sitemap.xml deleted file mode 100644 index d8cadd9..0000000 --- a/public/sitemap.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - https://circassimilate.com - 2025-01-14 - monthly - 1.0 - - \ No newline at end of file diff --git a/scripts/generate-sitemap.js b/scripts/generate-sitemap.js new file mode 100644 index 0000000..3921671 --- /dev/null +++ b/scripts/generate-sitemap.js @@ -0,0 +1,37 @@ +#!/usr/bin/env node + +import { writeFileSync } from 'fs'; +import { fileURLToPath } from 'url'; +import { dirname, join } from 'path'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); + +const generateSitemap = () => { + const baseUrl = 'https://circassimilate.com'; + const lastmod = new Date().toISOString().split('T')[0]; + + const pages = [ + { + url: '', + lastmod, + changefreq: 'monthly', + priority: '1.0' + } + ]; + + const sitemap = ` + +${pages.map(page => ` + ${baseUrl}${page.url} + ${page.lastmod} + ${page.changefreq} + ${page.priority} + `).join('\n')} +`; + + const sitemapPath = join(__dirname, '../public/sitemap.xml'); + writeFileSync(sitemapPath, sitemap); + console.log('✅ Sitemap generated successfully'); +}; + +generateSitemap(); \ No newline at end of file diff --git a/vercel.json b/vercel.json index c7000ed..199b50d 100644 --- a/vercel.json +++ b/vercel.json @@ -1,5 +1,5 @@ { - "buildCommand": "pnpm run build", + "buildCommand": "pnpm run build:production", "outputDirectory": "build", "installCommand": "pnpm install --frozen-lockfile", "framework": "vite",