You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Prepare an external contributor's PR for maintainer review by redirecting it into a dedicated review branch, then merging and creating a new finalization PR targeting next. Use when triaging/reviewing contributor PRs, merging external PRs with maintainer changes, or setting up a review workflow for incoming community contributions.
4
+
---
5
+
6
+
# Review External PR Workflow
7
+
8
+
Redirects an external contributor's PR into a `reviews/` staging branch so a maintainer can inspect, add changes, then merge everything into `next` cleanly.
9
+
10
+
## When to Use
11
+
12
+
- An external contributor opened a PR targeting `next` and you want to add changes before merging
13
+
- You want to formally review and finalize a community contribution
14
+
- You want the contributor to get proper merge credit while still controlling what lands in `next`
> ⚠️ **Known issue**: `gh pr edit --base` may emit a deprecation warning about Projects (classic). This is a cosmetic warning only — the base branch change succeeds regardless. Verify with `gh pr view <PR_NUMBER> --json baseRefName`.
--body "This PR finalizes the review of the contribution originally submitted by @<author_login> in #<PR_NUMBER>.
79
+
80
+
Original PR: <PR_URL>"
81
+
```
82
+
83
+
### 6. Comment on the Original PR
84
+
85
+
Go back to the contributor's original (now merged) PR and leave a comment linking to the finalization PR:
86
+
87
+
```bash
88
+
gh pr comment <ORIGINAL_PR_NUMBER> \
89
+
--body "Thank you for the contribution! The review is continuing in #<NEW_PR_NUMBER> where maintainer changes will be finalized before merging to \`next\`."
Copy file name to clipboardExpand all lines: CHANGELOG.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,21 @@
1
1
# Change Log
2
2
3
+
## 0.7.4
4
+
5
+
### New Features & Improvements
6
+
7
+
-**URL-Encoded Password Detection**: When a connection attempt fails and the password contains URL-encoded characters, the extension now offers a "Retry with Decoded Password" option. If the retry succeeds, the decoded password can be saved. [#444](https://github.com/microsoft/vscode-documentdb/issues/444), [#594](https://github.com/microsoft/vscode-documentdb/pull/594)
8
+
-**Rich Markdown Tooltips**: Cluster, database, and collection tree items in the Connections view now show rich markdown tooltips on hover, displaying useful details (host, auth method, document count, storage size) without requiring expansion or connection. [#579](https://github.com/microsoft/vscode-documentdb/issues/579), [#588](https://github.com/microsoft/vscode-documentdb/pull/588)
9
+
-**Copy Reference Context Menu**: Adds a "Copy Reference…" right-click option to database, collection, and index nodes with a QuickPick format picker. Databases offer name, shell command (`use dbName`), or qualified name; collections offer name, namespace, shell reference, or `db.getCollection()` form; indexes offer name, key definition, or shell command. Names with special characters automatically use safe escaping. [#545](https://github.com/microsoft/vscode-documentdb/pull/545), [#587](https://github.com/microsoft/vscode-documentdb/pull/587)
10
+
11
+
### Documentation
12
+
13
+
-**Improved CONTRIBUTING.md**: Adds a PR submission checklist, corrects Node/npm version requirements, and adds multi-platform setup stubs. [#565](https://github.com/microsoft/vscode-documentdb/pull/565)
14
+
15
+
### Dependencies
16
+
17
+
-**Dependency Updates**: Bumps `handlebars` (4.7.8 → 4.7.9), `lodash` (4.17.23 → 4.18.1), `lodash` and `@microsoft/api-extractor` in `/api`, and `follow-redirects` (1.15.11 → 1.16.0). [#552](https://github.com/microsoft/vscode-documentdb/pull/552), [#556](https://github.com/microsoft/vscode-documentdb/pull/556), [#558](https://github.com/microsoft/vscode-documentdb/pull/558), [#586](https://github.com/microsoft/vscode-documentdb/pull/586)
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+91-18Lines changed: 91 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,12 @@
2
2
3
3
Thank you for your interest in contributing to the **DocumentDB for VS Code** extension. This guide helps you set up your development environment and configure Visual Studio Code to effectively contribute to the extension.
@@ -22,12 +23,10 @@ The repository follows a structured branching strategy to ensure smooth developm
22
23
GitHub Actions are configured to perform automated checks on the repository. The intensity of these checks depends on the target branch:
23
24
24
25
1.**Push to `next`, `dev/*`, or `feature/*` branches**:
25
-
26
26
- Runs basic code quality checks and tests.
27
27
- Skips resource-intensive jobs like integration tests and packaging to focus on code validation.
28
28
29
29
2.**Pull Requests to `main` or `next`**:
30
-
31
30
- Executes all jobs, including code checks, tests, and packaging.
32
31
- Ensures complete validation before merging, including artifact generation.
33
32
@@ -38,18 +37,21 @@ This setup ensures that contributions are thoroughly validated while optimizing
38
37
39
38
## 2. Machine Setup
40
39
41
-
Follow these instructions to configure your machine for JavaScript/TypeScript development using Windows Subsystem for Linux (WSL2) and Visual Studio Code.
40
+
> **Platform coverage:** The detailed setup instructions below are written for **Windows + WSL2**. Stub sections for [macOS](#22-macos-pending), [Windows (native)](#23-windows-native-pending), and [plain Linux](#24-linux-pending) are included but not yet filled in; Contributors on those platforms are warmly invited to submit a PR expanding those sections!
42
41
43
-
> This setup assumes you're using WSL2 on Windows. However, you can use a Linux or Windows setup exclusively if preferred.
42
+
---
44
43
45
-
### 2.1. Install Ubuntu 22.\* on Windows
44
+
### 2.1. Windows + WSL2 _(documented)_
46
45
47
-
- Install **Ubuntu 22.\*** from the Microsoft Store and launch it to configure your Linux user account.
46
+
Follow these instructions to configure your machine for JavaScript/TypeScript development using Windows Subsystem for Linux (WSL2) and Visual Studio Code.
47
+
48
+
#### 2.1.1. Install Ubuntu 22.\* on Windows
48
49
50
+
- Install **Ubuntu 22.\*** from the Microsoft Store and launch it to configure your Linux user account.
49
51
- Your development environment and tools will reside within `WSL2`.
50
52
- VS Code integrates seamlessly with `WSL2` instances, enabling smooth development from your Windows machine.
51
53
52
-
###2.2. Update Ubuntu Packages
54
+
#### 2.1.2. Update Ubuntu Packages
53
55
54
56
Open your Ubuntu terminal and run:
55
57
@@ -58,29 +60,48 @@ sudo apt update
58
60
sudo apt upgrade
59
61
```
60
62
61
-
### 2.3. Install Node.js with FNM (Fast Node Manager)
63
+
#### 2.1.3. Install Node.js with FNM (Fast Node Manager)
64
+
65
+
`FNM` helps with installing and switching Node.js versions easily. This is useful for testing compatibility across different Node.js versions.
62
66
63
-
-`FNM` helps with installing and switching Node.js versions easily. This is useful for testing compatibility across different Node.js versions.
67
+
The minimum required versions are **Node.js 22.18.0** and **npm 10.0.0** (see `engines` in `package.json`).
> **Help wanted!** If you develop on macOS, please consider contributing setup instructions for this section. The general flow (install Node.js via a version manager such as `nvm` or `fnm`, clone the repo, `npm install && npm run build`) should be very similar to the WSL2 path above.
92
+
93
+
---
94
+
95
+
### 2.3. Windows (native) _(pending)_
96
+
97
+
> **Help wanted!** If you develop on Windows without WSL2, please consider contributing setup instructions for this section.
98
+
99
+
---
100
+
101
+
### 2.4. Linux _(pending)_
102
+
103
+
> **Help wanted!** If you develop on Linux natively, please consider contributing setup instructions for this section. The WSL2 Ubuntu steps above should translate almost verbatim.
104
+
84
105
## 3. VS Code Configuration
85
106
86
107
This section explains how to clone the **DocumentDB for VS Code** repository and set up Visual Studio Code for development and debugging.
@@ -90,7 +111,6 @@ This section explains how to clone the **DocumentDB for VS Code** repository and
90
111
1. Ensure you have completed the [Machine Setup](#2-machine-setup) steps.
91
112
92
113
2. Fork or directly clone the official repository:
93
-
94
114
-[DocumentDB for VS Code (vscode-documentdb)](https://github.com/microsoft/vscode-documentdb)
95
115
96
116
- Open your **WSL2** terminal and clone the repository:
@@ -124,6 +144,59 @@ code .
124
144
- Select `Launch Extension (webpack)`.
125
145
- Press `F5`.
126
146
147
+
## 4. PR Submission Checklist
148
+
149
+
Before opening or marking a pull request as ready for review, **all of the following steps must pass locally**. The same checks run in CI, so catching failures locally saves time.
150
+
151
+
### 4.1. Localization
152
+
153
+
If you added, changed, or removed any user-facing string (anything passed to `vscode.l10n.t()`), regenerate the localization bundle:
154
+
155
+
```bash
156
+
npm run l10n
157
+
```
158
+
159
+
Commit any changes to the `l10n/` folder together with your code changes.
160
+
161
+
### 4.2. Formatting
162
+
163
+
Run Prettier to ensure all files meet the project's formatting standards:
164
+
165
+
```bash
166
+
npm run prettier-fix
167
+
```
168
+
169
+
Commit any files that Prettier reformats.
170
+
171
+
### 4.3. Linting
172
+
173
+
Run ESLint and fix all reported issues before submitting:
174
+
175
+
```bash
176
+
npm run lint
177
+
```
178
+
179
+
### 4.4. Package Verification
180
+
181
+
Verify the extension can be packaged successfully without errors:
182
+
183
+
```bash
184
+
npm run package
185
+
```
186
+
187
+
This step catches webpack bundling issues and missing assets that unit tests alone won't surface.
188
+
189
+
---
190
+
191
+
> **Summary — run these four commands before every PR:**
192
+
>
193
+
> ```bash
194
+
> npm run l10n
195
+
> npm run prettier-fix
196
+
> npm run lint
197
+
> npm run package
198
+
>```
199
+
127
200
## You're Ready to Contribute! 🎉
128
201
129
202
You've now successfully set up your development environment and are ready to contribute to **DocumentDB for VS Code**. We appreciate your contributions!
0 commit comments