Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rajarakoto/react-boilerplate
Minimalistic boilerplate to quick-start React.js development in TypeScript, optimized for blazing-fast performance Bun & Vite π
https://github.com/rajarakoto/react-boilerplate
boilerplate bun bunjs minimalist react reactjs starter template typescript vite vitejs
Last synced: 2 months ago
JSON representation
Minimalistic boilerplate to quick-start React.js development in TypeScript, optimized for blazing-fast performance Bun & Vite π
- Host: GitHub
- URL: https://github.com/rajarakoto/react-boilerplate
- Owner: RajaRakoto
- License: mit
- Created: 2024-01-17T12:59:26.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2024-09-22T09:14:24.000Z (4 months ago)
- Last Synced: 2024-11-07T10:03:09.209Z (2 months ago)
- Topics: boilerplate, bun, bunjs, minimalist, react, reactjs, starter, template, typescript, vite, vitejs
- Language: TypeScript
- Homepage:
- Size: 2.02 MB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# react-boilerplate π
[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/for-you.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/open-source.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/uses-git.svg)](https://forthebadge.com) [![forthebadge](https://rajarakoto.github.io/github-docs/badge/build-by.svg)](https://forthebadge.com)
![Git](https://img.shields.io/badge/-Git-777?style=flat&logo=git&logoColor=F05032&labelColor=ffffff) ![Gitub](https://img.shields.io/badge/-Gitub-777?style=flat&logo=github&logoColor=777&labelColor=ffffff)
**Developer Ready: A comprehensive template. Works out of the box for most React.js projects. This project is intended to be used with the latest active release of React.js.**
Instant Value - All basic tools included and configured:
- π Typescript >= 5.5.4
- π React.js >= 18.3.1
- π§ Use Bun as package manager
- π ESM
- π§Ή ESlint with some initial rules recommendation
- π§ͺ Biome for code formatting and linting
- β Jest or Bun test for fast unit testing and code coverage
- π Type definitions for Bun.js and Jest
- π¨ Prettier to enforce consistent code style
- βοΈ EditorConfig for consistent coding style
- π¦ NPM scripts for common operations
- π Simple example of Tsx code
- π Run tasks with Grunt (example for backup)
- π₯οΈ Ungit for version control (git) with a GUI
- β‘ Use Vite for lightning fast HMR (hot reload)
- β‘ Optimized build by Vite
- π§ͺ E2E test with Playwright
- π³ Containerization for easy deployment and scaling with Docker
- π§Ί Pre-configured setup for Redux or Zustand as state manager, easily removable if not needed
- π Tailwind CSS already set up with PostCSS for flexible usage
- π©· Sass extends CSS with features like variables, nested rules, mixins, imports, inheritance, built-in functions, and more ...> You can customize your website faster with [PLUM](https://github.com/RajaRakoto/plum), a mixins toolset powered by SASS. Quickly produce consistent, scalable CSS output, regardless of project size. For the best experience, it is recommended to use SASS version `1.77.6` to ensure smooth integration with PLUM.
---
### π Usage
To use this template, use the following commands:
```bash
bun create github.com/RajaRakoto/react-boilerplate
cd
bun run pkg-upgrade # to upgrade outdated dependencies in interactive mode
```> 1. This starter kit uses the MIT license with my name and GitHub profileβupdate or remove if needed.
> 2. Each subdirectory in `src` has a `README.md` to explain its structure.
> 3. Adjust the `package.json` (name, description, author, etc.) to fit your project.---
### π Deployment
Instructions are provided for deploying both with and without Docker. Both options still require a platform to host the application.
**Without Docker**: Deploying is as easy as running the following command and pointing your web server to the generated `index.html` file found at `dist/index.html`
```bash
bun run build
```**With Docker**: A Dockerfile with an [NGINX](https://www.nginx.com/) base image is also provided for quick and easy deployments. Simply execute the following commands:
```bash
bun run build
docker build . -t # eg: docker build . -t todo-app
docker run -p :80 # eg: docker run todo-app -p 8080:80
```---
### π NPM Scripts
**Preview**
- π `preview` - Run your app with preview mode.
**Clean**
- π `clean` - Remove coverage data, prod folder, playwright-report ...
**Development**
- π `dev` - Launch Vite.js development server using hot module remplacement (HMR).
**Build**
- π `build` - Build faster with Vite.js.
**Testing**
- π `test:unit` - Run unit testing with Bun.js.
- π `test:unit:watch` - Interactive watch mode to automatically re-run unit testing with Bun.js.
- π `test:e2e` - Run end to end (e2e) testing with Playwright.**Linting and Formatting**
- π `biome:start` - Starts the Biome daemon server. You can specify a custom configuration file path using the `--config-path` option.
- π `biome:stop` - Stops the Biome daemon server.
- π `biome:fix` - Runs a source code check and applies automatic fixes (linter & formatter) according to the defined rules.
- π `biome:unsafe` - Works like `biome:fix`, but may apply more invasive or risky changes.
- π `eslint` - Lints the project with ESLint and reports unhandled errors.
- π `prettier` - Formats code according to the `.prettierrc` rules.**Backup and Dependency Management**
- π `backup` - Backup files with Grunt.
- π `pkg-check` - Check useless dependencies with depcheck.
- π `pkg-upgrade` - Upgrade outdated dependencies (interactive mode) with npm-check-updates.**Versioning**
- π `versioning` - Start ungit server.
**NPM Commands**
- π `npm-version:major` - Increments the major version number of your project using npm.
- π `npm-version:minor` - Increments the minor version number of your project using npm.
- π `npm-version:patch` - Increments the version patch number of your project using npm.**NVM**
- π `nvm` - Manage multiple node.js versions. Easily switch between node versions per project to ensure compatibility.
**Scripts**
- π `script:sass-charset` - Adds the @charset "UTF-8" declaration at the beginning of all SCSS files in the project.
---
### π Similar
You can also check out my other starter projects:
- π [bun-boilerplate](https://github.com/RajaRakoto/bun-boilerplate)
- π [node-boilerplate](https://github.com/RajaRakoto/node-boilerplate)
- π [next-boilerplate](https://github.com/RajaRakoto/next-boilerplate)
- π [qwik-boilerplate](https://github.com/RajaRakoto/qwik-boilerplate)
- π [vscode-boilerplate](https://github.com/RajaRakoto/vscode-boilerplate)
- π [cli-boilerplate](https://github.com/RajaRakoto/cli-boilerplate)