Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/imenesesl/react-vite-heroku-workflow
React-Vite Application
https://github.com/imenesesl/react-vite-heroku-workflow
heroku react vite
Last synced: 3 days ago
JSON representation
React-Vite Application
- Host: GitHub
- URL: https://github.com/imenesesl/react-vite-heroku-workflow
- Owner: imenesesl
- License: mit
- Created: 2024-01-13T04:30:19.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-02-05T14:25:38.000Z (10 months ago)
- Last Synced: 2024-04-17T10:12:34.585Z (7 months ago)
- Topics: heroku, react, vite
- Language: TypeScript
- Homepage: https://react-vite-2dca1af65e06.herokuapp.com/
- Size: 4.46 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# React-Vite Application
This application is built using Vite, React, TypeScript, and SWC. It's designed for efficient development and high performance in production.
## Environments
### Ephemeral Environments
- Each Pull Request creates an ephemeral environment on Heroku.
- The naming convention for these environments is `react-vite-pr-{heroku-number}`.
- A link to the ephemeral environment is automatically added as a comment in each PR for easy access and review.### Staging
- The staging environment is available at [stg-react-vite on Heroku](https://stg-react-vite-4576bf5f1a0f.herokuapp.com/).
- This environment is used for pre-production testing.### Production
- The production application is hosted at [react-vite on Heroku](https://react-vite-2dca1af65e06.herokuapp.com/).
- This is the live environment used by end users.The key identifier for these environments is `react-vite`.
## Release Tagging
- Release tags follow the format `release-yyyy-mm-dd-hh-mm-ss`.
- Example: `release-2024-01-16-11-08-00`.## Project Configuration
- The project uses `yarn` for dependency management.
- A `Procfile` is included, which is required by Heroku for running the app.
- A `static.json` is also part of the project, pointing to the build directory for static file serving.## Getting Started
### Clone the Repository
```bash
git clone https://github.com/imenesesl/react-vite-heroku-workflow.git
cd react-vite-heroku-workflow
```### Install Dependencies
```bash
nvm use
yarn install
```### Run the Project Locally
```bash
yarn dev
```## Branch Naming Convention
In our development process, we follow a specific naming convention for branches to streamline version management and to clearly indicate the purpose of each branch. The prefixes used are integral to our automated versioning process.
### Branch Prefixes:
- `fix`: For branches containing bug fixes. If a branch is merged with this prefix, it's assumed to be a patch update.
- `hotfix`: For urgent bug fixes that need to be deployed rapidly. Also treated as a patch update.
- `feature`: For new features being added to the application. Merging these branches typically triggers a minor version update.
- `feat`: An alternative to `feature`, also leading to a minor version update.
- `core`: For significant changes that might include breaking changes. Merging a `core` branch will trigger a major version update.### Automated Version Management:
Our workflow is set up to automatically update the version in the `package.json` file based on the prefix of the branch being merged into `main`. The versioning follows [Semantic Versioning](https://semver.org/) principles (major.minor.patch):
- `fix`/`hotfix`: Triggers a patch version increment.
- `feature`/`feat`: Triggers a minor version increment.
- `core`: Triggers a major version increment.If the branch name doesn't match any of the specified prefixes, the system defaults to treating it as a `fix`, resulting in a patch version increment. This ensures that every merge into `main` is accompanied by an appropriate version update, maintaining consistency and traceability.
### Example:
- Merging a branch named `feature/add-new-login` will increment the minor version.
- Merging a branch named `fix/login-bug` will increment the patch version.