TypeScript projectsο
We are really excited that you are interested in contributing. This is a general contribution guide for ArmoniKβs projects written in TypeScript. Before submitting your contribution, please make sure to take a moment and read through the following guide:
π§βπ» Repository Setupο
We use pnpm for every new projects but some legacy project can use npm or yarn. We highly recommend you install ni so you donβt worry about the package manager when switching across different projects.
We will use niβs commands in the following code snippets. If you are not using it, you can do the conversion yourself: ni = pnpm install, nr = pnpm run.
To set the repository up:
Step |
Command |
|---|---|
1. Install Node.js, using the latest LTS |
- |
2. Enable Corepack |
|
3. Install @antfu/ni |
|
4. Install dependencies under the project root |
|
π‘ Commandsο
Each project can have differents commands depending of the architecture. Please refer to the local package.json file.
π Documentationο
Please refer to the contribution guide about documentation.
π Sending Pull Requestο
Please refer to related release processes:
π©βπ§ Maintenanceο
This section is for maintainers with write access, or if you want to maintain your own forks.
Update Dependenciesο
Keeping dependencies up-to-date is one of the important aspects to keep projects alive and getting latest bug fixes on time. We recommend to update dependencies in weekly or bi-weekly intervals.
We use taze to update the dependencies manually most of the time. To automatically update dependencies, we use Renovate.
With taze, you can run taze major -Ir to check and select the versions to update interactive. -I stands for --interactive, -r stands for --recursive for monorepo.
You can use taze with npx: npx taze@latest
After bumpping, we remove lock file, we install them, runing build and test to verify nothing breaks before creating a Pull Request.
Releasingο
Please refer to release processes in our working processes.
This guide is heavily inpired by the contribute from @antfu.