Commit Graph

6 Commits

Author SHA1 Message Date
Peter Meier 615d9cdbd1 chore(tooling): add vitest + svelte-check, drop yarn.lock, CI gates, typed env imports
Toolchain hygiene:
  - svelte-check is now a pinned devDep (was npx-fetched per CI run)
  - vitest + coverage as devDeps; vitest.config.ts is separate from
    vite.config.ts so vite build does not pull vitest
  - $env stub for vitest (alias resolves $env/dynamic/{public,private}
    to a process.env proxy) — keeps server modules testable without
    booting SvelteKit
  - npm scripts: check / check:watch / typecheck / test / test:watch
  - drop yarn.lock + packageManager field; CI uses npm ci, single source
    of truth is package-lock.json
  - CI runs generate:icons + svelte-check + tsc --noEmit before deploy

Switch from raw process.env.X to $env/dynamic/{public,private} in
file-cache, image-cache, transform-cache and rusty-image.server. The
typed imports get tree-shaken correctly per server/client and fail
loudly at build time on accidental client-side use of private vars.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 16:09:02 +02:00
Peter Meier 3949df31bb fix(deploy): improve Caddyfile check for windwiderstand domain
Deploy / verify (push) Successful in 39s
Deploy / deploy (push) Successful in 56s
- Updated the grep command in the deployment workflow to use a regex pattern for better matching of the windwiderstand.de domain in the Caddyfile.
- This change ensures that the domain is correctly identified even with variations in whitespace or formatting.
2026-04-18 12:35:07 +02:00
Peter Meier da294010c8 feat: update site URLs and enhance image handling
Deploy / verify (push) Successful in 50s
Deploy / deploy (push) Failing after 1m3s
- Changed site URLs in docker-compose and deployment configurations to remove "www" prefix for consistency.
- Improved image handling by introducing warmPostCardImages function for pre-fetching images in posts and tags.
- Enhanced PostCard component with responsive image sizes for better performance.
- Updated layout to include robots meta tag and JSON-LD structured data for improved SEO.
- Added loading state for images in TopBanner component to enhance user experience.
2026-04-18 12:25:45 +02:00
Peter Meier da340530ee feat(analytics): pull pm86 site-id from CMS page_config, drop env var
Deploy / verify (push) Successful in 39s
Deploy / deploy (push) Successful in 54s
- +layout.server: expose pageConfig.analyticsPm86SiteId on layout data
- +layout.svelte: inject analytics.pm86.de script when CMS value present
- +error.svelte: light 404 page with wald-700 accent, dropped dark gradient
- .env.example + deploy.yml: remove PUBLIC_ANALYTICS_PM86_SITE_ID
2026-04-17 23:21:45 +02:00
Peter Meier d28a55a70a ci: run svelte-kit sync before svelte-check
Deploy / verify (push) Successful in 41s
Deploy / deploy (push) Successful in 1m25s
- Replace postinstall API gen with svelte-kit sync prepare hook.
- CI explicitly syncs before typecheck so .svelte-kit/tsconfig.json exists.
2026-04-17 22:03:44 +02:00
Peter Meier 2fef91a548 Initial SvelteKit frontend port of windwiderstand.de
Deploy / verify (push) Failing after 32s
Deploy / deploy (push) Has been skipped
Full parity with Astro site: content rows, post/tag routes, pagination,
event badges + OSM map, comments, Live-Search via /api/search-index,
CMS image proxy, RSS, sitemap.

Deploy: Dockerfile + docker-compose.prod.yml + Gitea Actions workflow
to build + push to git.pm86.de registry and ssh-deploy to Contabo.
2026-04-17 22:01:30 +02:00