-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Working with xterm.js
Check out the xterm.js contribution documentation for how to work on the project.
Since bugs and/or features manifest themselves in both VS Code and xterm.js, it's a little unclear initially where the issue(s) should be created. After some experimentation I landed on the best way to deal with this is to create the an issue in both the Microsoft/vscode and xtermjs/xterm.js repositories. The reason this is the best workflow is because the changes will then be verified during endgame and it's much easier to compose release notes for the terminal changes.
Since xterm.js is on a month release cycle we need to do a little extra work to pull our changes into VS Code quickly in order to get better test coverage from Insiders. Since we're working with git, it's pretty easy to pull in changes that are blocked on PR.
Here's what you need to do to pull your changes into VS Code:
-
Checkout the release branch in the fork of xterm.js and merge your change. Right now this is a personal fork under Tyriar:
git clone https://github.com/Tyriar/xterm.js cd xterm.js git checkout vscode-release/1.14 # whatever version git remote add branch_source https://github.com/<yourname>/xterm.js git fetch branch_source git merge branch_source/<pr_branch>
Note that there is an individual release branch for each version unlike many other modules we use. This is the case so that there can be a "clean slate" on the following version based off master.
-
Build the library and make sure tests pass:
yarn yarn build yarn test
-
Update
package.json
, the name should bevscode-xterm
and the version should be<x>.<y>.<z>-beta<n>
"name": "vscode-xterm", "version": "3.0.0-beta1",
-
Commit and push
git add package.json git commit -m "v3.0.0-beta1" git push
-
Publish
vscode-xterm
to npm:npm publish
If you don't have permissions ask someone who has published before to add you.
-
Go to the vscode repo and add the new version:
rm -rf node_modules/vscode-xterm yarn add [email protected]
Project Management
- Roadmap
- Iteration Plans
- Development Process
- Issue Tracking
- Build Champion
- Release Process
- Running the Endgame
- Related Projects
Contributing
- How to Contribute
- Submitting Bugs and Suggestions
- Feedback Channels
- Source Code Organization
- Coding Guidelines
- Testing
- Dealing with Test Flakiness
- Contributor License Agreement
- Extension API Guidelines
- Accessibility Guidelines
Documentation