Skip to content

MorrisonCole/alpha.morrisoncole.co.uk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

982 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alpha.morrisoncole.co.uk Open in Visual Studio Code

My personal website.

Alpha alpha.morrisoncole.co.uk. Production morrisoncole.co.uk is from https://github.com/MorrisonCole/morrisoncole.co.uk.

Overview

A React 19 single-page application built with Vite and TypeScript.

Development

Requirements

Node (version specified in .nvmrc). Using nvm is recommended.

nvm install
npm install

Scripts

Command Description
npm run dev Start Vite dev server
npm run build Production build
npm run preview Preview production build locally
npm run lint ESLint
npm run storybook Storybook dev server on port 6006
npm run storybook:build Build static Storybook

Husky runs ESLint and Prettier on staged files via lint-staged before each commit.

Testing

Storybook + Vitest

Component tests use Vitest in browser mode (Playwright / Chromium) via @storybook/addon-vitest. Stories live alongside components (e.g. button.stories.tsx).

Lighthouse CI

lighthouse-ci runs on every push and on a daily schedule. CI requires the LHCI_GITHUB_APP_TOKEN secret.

To run locally:

npm run build && npm run test:lighthouse

CI/CD

GitHub Actions workflows in .github/workflows/:

Workflow Trigger Description
build.yml Every push + daily schedule Lighthouse CI performance regression testing
deploy.yml Push to main Lint, build, deploy to S3, invalidate CloudFront
preview.yml PR opened / updated Deploy PR preview to pr-<number>.previews.alpha.morrisoncole.co.uk
preview-cleanup.yml PR closed Delete PR preview from S3 and deactivate deployment

Renovate is configured for automated dependency updates.

Infrastructure

AWS infrastructure is managed with Terraform in terraform/.

Terraform state is stored in S3 (alpha-morrisoncole-terraform-state). The terraform/bootstrap/ directory contains the config that creates the state bucket itself.

About

My personal website, alpha version! 🙌

Topics

Resources

Stars

Watchers

Forks

Contributors