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
{{ message }}
Repository navigation
Commit 8042c1c
Browse filesBrowse the repository at this point in the historyBrowse files
build: migrate JavaScript tooling to pnpm 11 (#1792)
Part of #1732.
I used https://github.com/oxc-project/oxc-vscode as a reference.
## Why
Before updating the dependency backlog, we need a safer baseline for installing and running JavaScript tools. pnpm 11 denies dependency build scripts unless they are explicitly reviewed, applies a default cooldown to newly published packages, and exposes undeclared dependency assumptions through its isolated node_modules layout. This PR keeps those protections enabled.
The value here is combining an exact package-manager pin, pnpm's installation safeguards, and project-declared CLI tools. Release jobs should not fetch executables through npx at execution time.
## Changes
- Pin pnpm exactly to 11.27.1 in package.json and replace package-lock.json with pnpm-lock.yaml.
- Use pnpm and explicit frozen-lockfile installs in the main, pre-release, and release workflows.
- Declare `@vscode/vsce` and `ovsx` as devDependencies; use project-local binaries for them and `git-cliff`.
- Allow only `esbuild`'s dependency build script, which prepares its platform-specific binary. Explicitly deny vsce-sign and keytar because these workflows do not sign VSIX files or use vsce's credential store.
- Package the bundled extension with `vsce --no-dependencies`, and include only required files in the VSIX.
- Update VS Code tasks, launch configuration, and contributor commands.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,10 @@ If you are interested in writing code to fix issues, please see [How to Contribu
4
4
5
5
## Debugging the extension
6
6
7
-
1. Run `npm install` and open this repository in VS Code.
8
-
2. Select **Launch Extension** in Run and Debug, then press **F5**. The pre-launch task runs `npm run compile` to build the extension and webviews in `dist`, including source maps for TypeScript breakpoints.
7
+
1. Run `pnpm install` and open this repository in VS Code.
8
+
2. Select **Launch Extension** in Run and Debug, then press **F5**. The pre-launch task runs `pnpm run compile` to build the extension and webviews in `dist`, including source maps for TypeScript breakpoints.
9
9
3. Open an R file or run an R command in the Extension Development Host to activate vscode-R. Ensure the **R Syntax** extension (`REditorSupport.r-syntax`) is installed and enabled there.
10
10
11
-
For continuous rebuilding, run `npm run watch`. `npm run build` additionally installs the bundled `sess` R package; this is not required just to launch the extension debugger. **Extension Tests** builds both the bundle and the TypeScript test files before launching.
11
+
For continuous rebuilding, run `pnpm run watch`. `pnpm run build` additionally installs the bundled `sess` R package; this is not required just to launch the extension debugger. **Extension Tests** builds both the bundle and the TypeScript test files before launching.
12
12
13
13
VS Code 1.139 has a [JavaScript debugger regression](https://github.com/microsoft/vscode-js-debug/issues/2420) that can leave the development host paused before any extension activates. The launching window's extension host log shows `ECONNREFUSED ::1` and `Could not find any debuggable target`. The fix is included in [JavaScript Debugger 1.140](https://github.com/microsoft/vscode-js-debug/releases/tag/v1.140.0). Until your VS Code version includes it, use Microsoft's [JavaScript Debugger Nightly](https://marketplace.visualstudio.com/items?itemName=ms-vscode.js-debug-nightly): disable the built-in **JavaScript Debugger**, install Nightly, and reload VS Code. Switch back to the built-in debugger once VS Code includes the fix.
0 commit comments