Ryan Walters e632e69b91 feat: migrate from React to Preact, add Vitest testing, and optimize bundle
Major framework and tooling changes:
- Migrate from React 19 to Preact 10 with preact-iso for routing
- Replace @mantine/hooks with custom hooks (useBooleanToggle, useViewportSize)
- Switch from @heroicons/react to lucide-preact for icons
- Replace chance.js with random-js for RNG

Testing infrastructure:
- Add Vitest with @testing-library/preact and happy-dom
- Set up test configuration and initial App tests
- Add Vitest UI for interactive test running

Build optimizations:
- Add cssnano for CSS minification
- Configure aggressive bundle optimizations in Vite
- Update to Tailwind CSS 4.1.17

Project structure:
- Consolidate entry point from main.tsx to index.tsx
- Reorganize CSS location (styles/index.css → index.css)
- Add ESLint with preact config
- Update TypeScript configuration for Preact
2025-11-06 21:56:53 -06:00
2022-11-29 03:34:20 -06:00
2022-11-25 00:40:41 -06:00
2022-11-29 03:34:20 -06:00

Grain Project - Banner Image

A small experiment on creating beautiful, dynamic backgrounds with colorful gradients & film grain. Built in React & Vite with SVGs and layers of Radial Gradients

Dependencies Used

  • Hero Icons
  • React
  • Typescript
  • Vite
  • Sass

Installation

  • Built on Node v16, packages managed with Yarn.
npm install --global yarn  # If you don't have yarn installed
yarn  # Run inside root directory to install all dependencies.

Development

yarn dev  # Starts a development server with Hot Module Replacement
Description
No description provided
Readme 3.1 MiB
Languages
TypeScript 79.6%
CSS 12%
HTML 8.4%