A generator of random React keys using window.crypto.
After working on several React-based projects integrated with SonarCloud/SonarQube quality reviews, I have noticed a pattern in the shape of a warning that requires a specific function to be solved: generating a random key for each project's children (feature used to avoid performance issues).
Now, I decided to create a simple but effective generator method that can be installed and called whenever needed, rather than implementing the whole function in each project.
Several quick start options are available:
- Clone the repo:
git clone https://github.com/NicolasOmar/react-key-generator.git. - Install with npm:
npm install @nicolasomar/react-key-generator@latest- Before cloning this repo, I recommend installing Node
>=20.10.0to install packages.
- Before cloning this repo, I recommend installing Node
It will be added shortly in the form of TypeScript comments and other useful ways.
Once the package has been installed, just call its (for now) only method, generateKey whenever you need:
import { generateKey } from "@nicolasomar/react-key-generator"After my previous experience with semantic-release in other projects, I decided to give the following meaning to the project's versions after v4.0.0:
- Major versions (
5.0.0,6.0.0, and beyond) will refer to milestone achievements and significant changes that will need extra attention before the update. - Minor versions (
4.1.0,4.2.0, and so on) will refer to bug fixes that required several important code changes or specific new features. - Patch versions (
4.0.1,4.0.2, and so on) will refer to bug fixes that required small code changes or weekly dependency updates.
I will not have a roadmap for this project until I need it.
Given the mentioned release logic, main is the only static branch, and each developed feature or fix will have a unique branch with its PR and a merge commit following semantic versioning and semantic commits specifications.
The changelog (powered by semantic-release) is regularly updated to reflect what's changed in each new release.
Code released under the MIT License.