2022-05-13 15:33:16 +00:00
# Courses VSCode Extension
This details the maintenance guidelines for the [freeCodeCamp/courses-vscode-extension ](https://github.com/freeCodeCamp/courses-vscode-extension ) repository which contains the source code for the [freeCodeCamp - Courses ](https://marketplace.visualstudio.com/items?itemName=freeCodeCamp.freecodecamp-courses ) extension.
## Publishing the Extension
2022-06-21 14:21:39 +00:00
A GitHub Action automagically publishes the extension to the Visual Studio Marketplace, on the release of a new GitHub Release.
2022-05-13 15:33:16 +00:00
2022-06-21 14:21:39 +00:00
1. Package a new version of the extension:
2022-05-13 15:33:16 +00:00
```bash
2022-06-21 14:21:39 +00:00
npm run pack -- < tag_type >
2022-05-13 15:33:16 +00:00
```
2022-06-21 14:21:39 +00:00
Where `<tag_type>` is one of: `major` , `minor` , `patch` .
2022-05-13 15:33:16 +00:00
2022-06-21 14:21:39 +00:00
2. Push the new version to `main` :
2022-05-13 15:33:16 +00:00
```bash
2022-06-21 14:21:39 +00:00
git commit -am "< tag_type > (< version > ): < description > "
git push
2022-05-13 15:33:16 +00:00
```
2022-06-21 14:21:39 +00:00
Optionally, you can push directly to `upstream/main` , but opening a new PR is recommended for a sanity check.
2022-05-13 15:33:16 +00:00
2022-06-21 14:21:39 +00:00
3. Create a new GitHub Release using the GitHub UI:
2022-05-13 15:33:16 +00:00
2022-06-21 14:21:39 +00:00
- Correctly increment the version number, when creating a new tag.
- Upload the `.vsix` file with the release.
- Publish the release, and confirm the action succeeded.
2022-05-13 15:33:16 +00:00
2022-06-21 14:21:39 +00:00
> [!NOTE] Creating a release requires write access to the `freeCodeCamp/courses-vscode-extension` repository.
2022-05-13 15:33:16 +00:00
## Manually Publishing the Extension
A manual upload to the Visual Studio Marketplace can be achieved, by following these steps:
1. Visit https://marketplace.visualstudio.com/ and sign in
2. Navigate to the [freeCodeCamp Publisher page ](https://marketplace.visualstudio.com/manage/publishers/freecodecamp )
3. Select the relevant extension, and select `Update`
4. Upload the file from your local files