This document describes a way to manage/publish the swc repositories. These tasks are all done by me (@kdy1
) previously, but as the project got much bigger, I'm writing this document to allow the other core team members do it.
This is the main repository. To help rust-side users, swc publishes changed crates everytime a PR is merged. The publish action is done by @swc-bot
.
To control the bot, we use a review comment ending with yaml. The yaml should start with swc-bump
and should be the last in the comment. An example of such comments is
Content about the PR
---
swc-bump:
- swc_atoms
- swc_ecma_ast --breaking
and this comment should be written by @kdy1
at the moment. You can change this to allow more people by fixing the bot script.
Once PR is merged, the bot script will automatically publish crates and rebase another PR with auto-merged enabled.
If you want to publish crates manually, you can do cargo mono publish --no-verify
after installing cargo-mono
.
When you need to publish crates in swc-project/plugins
, you can use ./scripts/update-bump-all.sh
to update dependencies and bump versions of crates and npm packages.
Just like the main swc repository, the CI script will automatically publish all crates and npm packages when a PR is merged.