Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jimmy-guzman/react-starter

๐Ÿฑ Another React Starter using Bun, Vite, TypeScript, tailwindcss and daisyUI.
https://github.com/jimmy-guzman/react-starter

bun daisyui eslint github-actions knip playwright react storybook tailwind tailwindcss turborepo typescript vitejs vitest

Last synced: 8 days ago
JSON representation

๐Ÿฑ Another React Starter using Bun, Vite, TypeScript, tailwindcss and daisyUI.

Awesome Lists containing this project

README

        

# React Starter

> ๐Ÿฑ Another React Starter using Bun, Vite, TypeScript, tailwindcss and daisyUI.

## ๐Ÿฃ Features

- ๐Ÿž [bun][bun] for a fast runtime and package manager.
- โšก๏ธ [vite][vite] for instant server start and lighting fast HMR.
- ๐Ÿท๏ธ [TypeScript][TypeScript] for a less frustrating & consistent experience.
- ๐Ÿ๏ธ [TanStack Router][TanStack Router] for a fully type-safe React router.
- ๐Ÿ๏ธ [TanStack Query][TanStack Query] for asynchronous state management.
- ๐Ÿ’„ [tailwindcss][tailwindcss] for utility-first CSS.
- ๐Ÿ’„ [daisyUI](https://daisyui.com) for tailwindcss components.
- ๐Ÿงฑ [storybook][storybook] for building UIs in isolation.
- ๐Ÿงช [vitest][vitest] for fast testing.
- ๐Ÿงช [Playwright][Playwright] for fast and reliable e2e testing.
- ๐Ÿงช [Mock Service Worker][Mock Service Worker] for client-agnostic API mocks.
- ๐Ÿฉบ [eslint][eslint] for static analysis.
- ๐Ÿฉบ [Knip][Knip] for finding dead code.
- ๐ŸŽจ [prettier][prettier] for formatting.
- ๐Ÿฉบ [lefthook][lefthook] for fast Git hooks management.
- ๐Ÿ‘ท [Turborepo][Turborepo] for caching and task parallelization.
- ๐Ÿ‘ท [GitHub Actions][GitHub Actions] for easy workflow automation.

## ๐Ÿ› ๏ธ Usage

You can either [use this template](https://github.com/jimmy-guzman/react-starter/generate) or [deploy on Vercel](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fjimmy-guzman%2Freact-starter&project-name=my-awesome-react-project&repository-name=my-awesome-react-project) or use [tiged](https://github.com/tiged/tiged), by running the following command:

```
bunx tiged jimmy-guzman/react-starter
```

## ๐Ÿ Getting Started

First install [bun](https://bun.sh/docs/installation), by running the following command:

```
curl -fsSL https://bun.sh/install | bash
```

Now you can install dependencies, by running the following command:

```
bun install
```

Or if you already have `bun` installed you upgrade, by running the following command:

```
bun upgrade --stable
```

And to download new browsers for Playwright, run the following command:

```
bunx playwright install
```

And install Turborepo, run the following command:

```
bun install --global turbo
```

Then to run the development server, run the following command:

```
turbo dev
```

Your application will be available at http://localhost:5173/ โค๏ธ

## ๐Ÿงž Available Tasks

| Command | Action |
| :----------------- | :------------------------------------------------------- |
| `bun install` | Installs dependencies |
| `turbo dev` | Starts local dev server at http://localhost:5173/ |
| `turbo build` | Build your production site to `./dist/` |
| `turbo preview` | Preview your build locally, before deploying |
| `turbo test` | Unit tests your code with vitest |
| `turbo e2e` | E2E tests your code with playwright |
| `turbo lint` | Lints everything with eslint |
| `turbo lint:fix` | Fixes lint errors with eslint |
| `turbo format` | Checks formatting with prettier |
| `turbo format:fix` | Fixes formatting errors with prettier |
| `turbo typecheck` | Checks types with TypeScript |
| `turbo sb` | Starts storybook at http://localhost:6006 |
| `turbo sb:build` | Build your production storybook to `./storybook-static/` |
| `turbo check` | Checks everything |

_You can also run all tasks with `bun run`, i.e `bun run dev`_

[vite]: https://vite.dev
[react]: https://react.dev
[TypeScript]: https://www.typescriptlang.org
[tailwindcss]: https://tailwindcss.com
[storybook]: https://storybook.js.org
[eslint]: https://eslint.org
[vitest]: https://vitest.dev/guide/why.html
[Testing Library]: https://testing-library.com/docs/guiding-principles
[Playwright]: https://playwright.dev
[prettier]: https://prettier.io
[bun]: https://bun.sh
[GitHub Actions]: https://github.com/features/actions
[lefthook]: https://github.com/evilmartians/lefthook
[TanStack Router]: https://tanstack.com/router/v1
[TanStack Query]: https://tanstack.com/query/v5
[Turborepo]: https://turbo.build/repo/docs
[Mock Service Worker]: https://mswjs.io
[Knip]: https://knip.dev