My website
Find a file
dependabot[bot] dc7d2ad447
chore(deps): bump the lint-and-format group with 11 updates (#37)
* chore(deps): bump the lint-and-format group with 11 updates

Bumps the lint-and-format group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `18.6.1` | `20.4.1` |
| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `18.6.3` | `20.4.1` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.21.0` | `8.56.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.21.0` | `8.56.0` |
| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `10.0.0` |
| [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) | `9.1.2` | `10.1.8` |
| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `6.0.0-rc.2` | `7.0.1` |
| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.4.20` | `0.5.0` |
| [lint-staged](https://github.com/lint-staged/lint-staged) | `15.5.2` | `16.2.7` |
| [prettier](https://github.com/prettier/prettier) | `3.6.2` | `3.8.1` |
| [prettier-plugin-tailwindcss](https://github.com/tailwindlabs/prettier-plugin-tailwindcss) | `0.5.14` | `0.7.2` |


Updates `@commitlint/cli` from 18.6.1 to 20.4.1
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v20.4.1/@commitlint/cli)

Updates `@commitlint/config-conventional` from 18.6.3 to 20.4.1
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v20.4.1/@commitlint/config-conventional)

Updates `@typescript-eslint/eslint-plugin` from 6.21.0 to 8.56.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 6.21.0 to 8.56.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.0/packages/parser)

Updates `eslint` from 8.57.1 to 10.0.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v8.57.1...v10.0.0)

Updates `eslint-config-prettier` from 9.1.2 to 10.1.8
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/commits/v10.1.8)

Updates `eslint-plugin-react-hooks` from 6.0.0-rc.2 to 7.0.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks)

Updates `eslint-plugin-react-refresh` from 0.4.20 to 0.5.0
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases)
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.20...v0.5.0)

Updates `lint-staged` from 15.5.2 to 16.2.7
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v15.5.2...v16.2.7)

Updates `prettier` from 3.6.2 to 3.8.1
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.6.2...3.8.1)

Updates `prettier-plugin-tailwindcss` from 0.5.14 to 0.7.2
- [Release notes](https://github.com/tailwindlabs/prettier-plugin-tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/prettier-plugin-tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/prettier-plugin-tailwindcss/compare/v0.5.14...v0.7.2)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-version: 20.4.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: lint-and-format
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 20.4.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: lint-and-format
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.56.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: lint-and-format
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.56.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: lint-and-format
- dependency-name: eslint
  dependency-version: 10.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: lint-and-format
- dependency-name: eslint-config-prettier
  dependency-version: 10.1.8
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: lint-and-format
- dependency-name: eslint-plugin-react-hooks
  dependency-version: 7.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: lint-and-format
- dependency-name: eslint-plugin-react-refresh
  dependency-version: 0.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: lint-and-format
- dependency-name: lint-staged
  dependency-version: 16.2.7
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: lint-and-format
- dependency-name: prettier
  dependency-version: 3.8.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: lint-and-format
- dependency-name: prettier-plugin-tailwindcss
  dependency-version: 0.7.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: lint-and-format
...

Signed-off-by: dependabot[bot] <support@github.com>

* feat!: migrate eslint to flat config for eslint 10

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: End Nightshade <contact@endoftimee.tech>
2026-02-16 23:20:31 -07:00
.github fix: correct github sponsors username in FUNDING.yml 2026-02-16 22:56:03 -07:00
.unused feat: add blog 2026-01-15 12:44:10 -07:00
.vscode feat: add blog 2026-01-15 12:44:10 -07:00
public fix: allow search engine crawling in robots.txt 2026-02-16 22:24:08 -07:00
src style: format with prettier 2026-02-16 22:52:11 -07:00
.cfignore feat: add blog 2026-01-15 12:44:10 -07:00
.editorconfig feat: add blog 2026-01-15 12:44:10 -07:00
.env.example feat: add blog 2026-01-15 12:44:10 -07:00
.gitattributes feat: add blog 2026-01-15 12:44:10 -07:00
.gitignore feat: add blog 2026-01-15 12:44:10 -07:00
.npmrc chore: remove npm-only flags from .npmrc 2026-02-16 22:37:35 -07:00
dev.ps1 feat: add Spotify music integration 2025-02-11 12:49:33 -07:00
eslint.config.js chore(deps): bump the lint-and-format group with 11 updates (#37) 2026-02-16 23:20:31 -07:00
index.html feat: add blog 2026-01-15 12:44:10 -07:00
package.json chore(deps): bump the lint-and-format group with 11 updates (#37) 2026-02-16 23:20:31 -07:00
pnpm-lock.yaml chore(deps): bump the lint-and-format group with 11 updates (#37) 2026-02-16 23:20:31 -07:00
postcss.config.js feat: add blog 2026-01-15 12:44:10 -07:00
README.md feat: add blog 2026-01-15 12:44:10 -07:00
tailwind.config.js feat: add blog 2026-01-15 12:44:10 -07:00
tsconfig.json feat: add blog 2026-01-15 12:44:10 -07:00
tsconfig.node.json feat: add blog 2026-01-15 12:44:10 -07:00
tsconfig.worker.json feat: add blog 2026-01-15 12:44:10 -07:00
vite.config.ts feat: add blog 2026-01-15 12:44:10 -07:00
wrangler.toml feat: add blog 2026-01-15 12:44:10 -07:00

Personal Website

For deployments/checks before resigning: see archive/unsigned-history branch

Architecture Overview

This project implements a modern web application architecture leveraging Cloudflare's edge computing capabilities. The architecture consists of two primary components:

  1. React Frontend: A Single Page Application (SPA) built with React and TypeScript
  2. Cloudflare Pages: Static site hosting with global CDN distribution

Getting Started

Prerequisites

  • Node.js (v16.0.0 or higher)
  • npm (v7.0.0 or higher)
  • Cloudflare account
  • Last.fm account and API key
  • Git

API Keys Setup

  1. Last.fm API Key:

    • Visit Last.fm API Account Creation
    • Sign in with your Last.fm account
    • Fill in the application details
    • Save your API key
    • Your username can be found in your profile URL: last.fm/user/YOUR_USERNAME
  2. Cloudflare Setup:

    • Create an account at Cloudflare
    • Get your Account ID from the dashboard
    • Create an API token with Pages deployment permissions

Environment Setup

  1. Clone the repository:
git clone https://github.com/EndofTimee/personal-site
cd personal-site
  1. Create a .env file in the root directory:
VITE_LASTFM_API_KEY=your_lastfm_api_key
VITE_LASTFM_USERNAME=your_lastfm_username
CLOUDFLARE_API_TOKEN=your_cloudflare_api_token
CLOUDFLARE_ACCOUNT_ID=your_cloudflare_account_id
  1. Install dependencies:
npm install

Local Development

Start the development server:

npm start

The application will be available at http://localhost:3000

Deployment

Deployment Steps

npm run build
npx wrangler pages deploy ./dist

Environment Configuration

Cloudflare Pages Configuration:

  1. Build settings:

    • Build command: npm run build
    • Build output directory: dist
    • Node.js version: 16 (or higher)
  2. Environment variables:

    • Production branch: main
    • Preview branches: dev/*

Troubleshooting

Common Issues

  1. Build Issues:

    # Clear dependency cache
    rm -rf node_modules
    npm clean-cache --force
    npm install
    
  2. Environment Variables:

    # Verify environment variables
    npx wrangler secret list
    

Additional Resources

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit changes
  4. Push to the branch
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details