From 80f30fc42c1f1d38ec20f037c7d81167103161ed Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Dec 2021 10:33:13 -0700 Subject: [PATCH 1/2] fix(deps): update dependency qs to v6.10.2 (#4581) Co-authored-by: Renovate Bot --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4e30b43d2960..92fe003cc63d 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,7 @@ "pem": "^1.14.2", "proxy-agent": "^5.0.0", "proxy-from-env": "^1.1.0", - "qs": "6.10.1", + "qs": "6.10.2", "rotating-file-stream": "^3.0.0", "safe-buffer": "^5.1.1", "safe-compare": "^1.1.4", diff --git a/yarn.lock b/yarn.lock index 0c008c9a97f7..2e74db61aedf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3500,10 +3500,10 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -qs@6.10.1: - version "6.10.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" - integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== +qs@6.10.2: + version "6.10.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.2.tgz#c1431bea37fc5b24c5bdbafa20f16bdf2a4b9ffe" + integrity sha512-mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw== dependencies: side-channel "^1.0.4" From d15731a57018a56554d7dd1cecdbd377c50b3c0d Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Mon, 6 Dec 2021 17:58:04 +0000 Subject: [PATCH 2/2] docs: update sections around VS Code fork (#4571) * docs(CONTRIBUTING): update workflow based on vscode changes * docs(MAINTAINING): add section for syncing VS Code upstream Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com> --- docs/CONTRIBUTING.md | 21 ++++++++++----------- docs/MAINTAINING.md | 16 ++++++++++++++-- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index b2dc3d5f23af..0920c91c625b 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -84,32 +84,31 @@ Here are these steps you should follow to get your dev environment setup: 1. `git clone https://github.com/cdr/code-server.git` - Clone `code-server` 2. `git clone https://github.com/cdr/vscode.git` - Clone `vscode` -3. `cd vscode && git checkout code-server-v2` - checkout the branch we use (not the default) -4. `cd vscode && yarn install` - install the dependencies in the `vscode` repo -5. `cd code-server && yarn install` - install the dependencies in the `code-server` repo -6. `cd vscode && yarn link` - use `yarn` to create a symlink to the `vscode` repo (`code-oss-dev` package) -7. `cd code-server && yarn link code-oss-dev --modules-folder vendor/modules` - links your local `vscode` repo (`code-oss-dev` package) inside your local version of code-server -8. `cd code-server && yarn watch` - this will spin up code-server on localhost:8080 which you can start developing. It will live reload changes to the source. +3. `cd vscode && yarn install` - install the dependencies in the `vscode` repo +4. `cd code-server && yarn install` - install the dependencies in the `code-server` repo +5. `cd vscode && yarn link` - use `yarn` to create a symlink to the `vscode` repo (`code-oss-dev` package) +6. `cd code-server && yarn link code-oss-dev --modules-folder vendor/modules` - links your local `vscode` repo (`code-oss-dev` package) inside your local version of code-server +7. `cd code-server && yarn watch` - this will spin up code-server on localhost:8080 which you can start developing. It will live reload changes to the source. ### Updates to VS Code -If changes are made and merged into `code-server-v2` in the `cdr/vscode` repo, then you'll need to update the version in the `code-server` repo by following these steps: +If changes are made and merged into `main` in the [`cdr/vscode`](https://github.com/cdr/vscode) repo, then you'll need to update the version in the `code-server` repo by following these steps: 1. Update the package tag listed in `vendor/package.json`: ```json { "devDependencies": { - "vscode": "cdr/vscode#X.XX.X-code-server" + "vscode": "cdr/vscode#" } } ``` -1. From the code-server **project root**, run `yarn install`. +2. From the code-server **project root**, run `yarn install`. Then, test code-server locally to make sure everything works. -1. Check the Node.js version that's used by Electron (which is shipped with VS +3. Check the Node.js version that's used by Electron (which is shipped with VS Code. If necessary, update your version of Node.js to match. -1. Open a PR +4. Open a PR > Watch for updates to > `vendor/modules/code-oss-dev/src/vs/code/browser/workbench/workbench.html`. You may need to diff --git a/docs/MAINTAINING.md b/docs/MAINTAINING.md index 466e6121d0ef..6a6d5cb76fec 100644 --- a/docs/MAINTAINING.md +++ b/docs/MAINTAINING.md @@ -19,6 +19,7 @@ - [Docker](#docker) - [Homebrew](#homebrew) - [npm](#npm) +- [Syncing with Upstream VS Code](#syncing-with-upstream-vs-code) - [Testing](#testing) - [Documentation](#documentation) - [Troubleshooting](#troubleshooting) @@ -126,8 +127,7 @@ the issue. ### Merge strategies -For most things, we recommend the **squash and merge** strategy. If you're -updating `lib/vscode`, we suggest using the **rebase and merge** strategy. There +For most things, we recommend the **squash and merge** strategy. There may be times where **creating a merge commit** makes sense as well. Use your best judgment. If you're unsure, you can always discuss in the PR with the team. @@ -215,6 +215,18 @@ We publish code-server as a npm package [here](https://www.npmjs.com/package/cod This is currently automated with the release process. +## Syncing with Upstream VS Code + +The VS Code portion of code-server lives under [`cdr/vscode`](https://github.com/cdr/vscode). To update VS Code for code-server, follow these steps: + +1. `git checkout -b vscode-update` - Create a new branch locally based off `main` +2. `git fetch upstream` - Fetch upstream (VS Code)'s latest `main` branch +3. `git merge upstream/main` - Merge it locally + 1. If there are merge conflicts, fix them locally +4. Open a PR merging your branch (`vscode-update`) into `main` and add the code-server review team + +Ideally, our fork stays as close to upstream as possible. See the differences between our fork and upstream [here](https://github.com/microsoft/vscode/compare/main...cdr:main). + ## Testing Our testing structure is laid out under our [Contributing docs](https://coder.com/docs/code-server/latest/CONTRIBUTING#test).