Skip to content
Merged

3.49.0 #1357

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 19 additions & 22 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

# Contributions

Thank you, we appreciate your help!
Expand All @@ -8,56 +7,54 @@ Thank you, we appreciate your help!

## Prerequisites

Most changes & feature enhancements don't require the extension to be
modified, as the majority of the data used in the extension is supplied by
Most changes & feature enhancements don't require the extension to be
modified, as the majority of the data used in the extension is supplied by
the **Deno Language Server** which is integrated into the **[Deno CLI]**.

<br>

If you already have this VSCode extension installed from the Marketplace,
note that there is no need to uninstall it for development as it is automatically
If you already have this VSCode extension installed from the Marketplace,
note that there is no need to uninstall it for development as it is
automatically
replaced when the `Launch Client` instance is running.


<br>
<br>

## Development Setup

1. Clone this repository
1. Clone this repository

2. Open the project in VSCode
2. Open the project in VSCode

3. Install the dependencies
3. Install the dependencies

```sh
npm install
```
```sh
npm install
```

4. In the **VSCode Debug Menu**
start the `Launch Client` task
4. In the **VSCode Debug Menu**
start the `Launch Client` task

5. In the **VSCode Debug Menu**
use the restart button after you
have made changes to reload
5. In the **VSCode Debug Menu**
use the restart button after you
have made changes to reload

<br>
<br>

## Pull Requests

Once you are ready to open a ( draft ) pull request, give it a 𝗧𝗶𝘁𝗹𝗲 and
𝗗𝗲𝘀𝗰𝗿𝗶𝗽𝘁𝗶𝗼𝗻 that help people - that don't know of your changes - to
Once you are ready to open a ( draft ) pull request, give it a 𝗧𝗶𝘁𝗹𝗲 and
𝗗𝗲𝘀𝗰𝗿𝗶𝗽𝘁𝗶𝗼𝗻 that help people - that don't know of your changes - to
understand what, how and why you did what you did.

*It's helpful to link related [𝗜𝘀𝘀𝘂𝗲𝘀] & [𝗗𝗶𝘀𝗰𝘂𝘀𝘀𝗶𝗼𝗻𝘀] !*

_It's helpful to link related [𝗜𝘀𝘀𝘂𝗲𝘀] & [𝗗𝗶𝘀𝗰𝘂𝘀𝘀𝗶𝗼𝗻𝘀] !_

<br>

<!----------------------------------------------------------------------------->

[𝗗𝗶𝘀𝗰𝘂𝘀𝘀𝗶𝗼𝗻𝘀]: https://github.com/denoland/vscode_deno/discussions
[𝗜𝘀𝘀𝘂𝗲𝘀]: https://github.com/denoland/vscode_deno/issues

[Deno CLI]: https://github.com/denoland/deno
16 changes: 12 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
Releases of the extension can be downloaded from
[Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno).

### [3.49.0](https://github.com/denoland/vscode_deno/compare/3.48.0...3.49.0) / 2026.01.22

- feat: prompt for custom workspace `"deno.path"` setting

### [3.48.0](https://github.com/denoland/vscode_deno/compare/3.47.0...3.48.0) / 2026.01.14

- feat: "deno.forcePushBasedDiagnostics" setting (#1354)
Expand Down Expand Up @@ -30,7 +34,8 @@ Releases of the extension can be downloaded from

### [3.45.0](https://github.com/denoland/vscode_deno/compare/3.44.2...3.45.0) / 2025.07.16

- feat: show task description from deno.json in tasks view and command palette (#1304)
- feat: show task description from deno.json in tasks view and command palette
(#1304)
- fix: enable colored output in tests (#1298)
- chore: remove tsconfig helper prompt (#1315)

Expand All @@ -50,7 +55,8 @@ Releases of the extension can be downloaded from

### [3.43.6](https://github.com/denoland/vscode_deno/compare/3.43.5...3.43.6) / 2025.03.12

- fix(client): set `{ shell: true }` in server options for "deno.{bat,cmd}" (#1273)
- fix(client): set `{ shell: true }` in server options for "deno.{bat,cmd}"
(#1273)
- docs: `deno.codeLens.test` is not deprecated (#1268)

### [3.43.5](https://github.com/denoland/vscode_deno/compare/3.43.4...3.43.5) / 2025.02.26
Expand Down Expand Up @@ -219,15 +225,17 @@ Releases of the extension can be downloaded from
### [3.24.0](https://github.com/denoland/vscode_deno/compare/3.23.1...3.24.0) / 2023.09.25

- fix: regression when caching via the command palette (#930)
- feat: include "javascript" and "typescript" settings in LSP init options (#929)
- feat: include "javascript" and "typescript" settings in LSP init options
(#929)

### [3.23.1](https://github.com/denoland/vscode_deno/compare/3.23.0...3.23.1) / 2023.09.19

- fix: provide args to deno.cache on cache-on-save (#924)

### [3.23.0](https://github.com/denoland/vscode_deno/compare/3.22.0...3.23.0) / 2023.09.19

- fix: getCompilerOptionsDiagnostics and getNavigateToItems fixed when "deno.enable" is false (#915)
- fix: getCompilerOptionsDiagnostics and getNavigateToItems fixed when
"deno.enable" is false (#915)
- feat: Restore "deno.enable" null default for deno.json auto-detection (#921)
- feat: feat: "deno.disablePaths" setting (#919)

Expand Down
4 changes: 2 additions & 2 deletions client/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"author": "Deno Land Inc.",
"license": "MIT",
"private": true,
"version": "3.48.0",
"version": "3.49.0",
"publisher": "deno-land",
"repository": {
"type": "git",
Expand Down
4 changes: 3 additions & 1 deletion client/src/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,9 @@ export function test(
};

assert(workspaceFolder);
const denoCommand = await getDenoCommandName(extensionContext.approvedPaths);
const denoCommand = await getDenoCommandName(
extensionContext.approvedPaths,
);
const task = tasks.buildDenoTask(
workspaceFolder,
denoCommand,
Expand Down
14 changes: 10 additions & 4 deletions client/src/config_paths.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ export function getDenoPathInfo(): DenoPathInfo | undefined {
// check if path is set in workspace or folder settings (not global/user)
const workspaceValue = inspection?.workspaceValue;
const folderValue = inspection?.workspaceFolderValue;
const isFromWorkspace = (typeof workspaceValue === "string" && workspaceValue.trim().length > 0)
|| (typeof folderValue === "string" && folderValue.trim().length > 0);
const isFromWorkspace = (typeof workspaceValue === "string" &&
workspaceValue.trim().length > 0) ||
(typeof folderValue === "string" && folderValue.trim().length > 0);
return {
path: rawPath.trim(),
isFromWorkspace,
Expand Down Expand Up @@ -55,12 +56,17 @@ export class ApprovedConfigPaths {
const approvedPaths = this.#getApprovedPaths();
if (!approvedPaths.includes(path)) {
approvedPaths.push(path);
await this.#context.workspaceState.update(APPROVED_PATHS_KEY, approvedPaths);
await this.#context.workspaceState.update(
APPROVED_PATHS_KEY,
approvedPaths,
);
}
}

/** Prompts the user for approval if the path hasn't been approved yet. */
async promptForApproval(pathInfo: DenoPathInfo | undefined): Promise<boolean> {
async promptForApproval(
pathInfo: DenoPathInfo | undefined,
): Promise<boolean> {
// null and global paths don't need approval
if (pathInfo == null || !pathInfo.isFromWorkspace) {
return true;
Expand Down
8 changes: 6 additions & 2 deletions client/src/debug_config_provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,9 @@ export class DenoDebugConfigurationProvider
program: "${workspaceFolder}/main.ts",
cwd: "${workspaceFolder}",
env: this.#getEnv(),
runtimeExecutable: await getDenoCommandName(this.#extensionContext.approvedPaths),
runtimeExecutable: await getDenoCommandName(
this.#extensionContext.approvedPaths,
),
runtimeArgs: [
"run",
...this.#getAdditionalRuntimeArgs(),
Expand Down Expand Up @@ -99,7 +101,9 @@ export class DenoDebugConfigurationProvider
type: "node",
program: "${file}",
env: this.#getEnv(),
runtimeExecutable: await getDenoCommandName(this.#extensionContext.approvedPaths),
runtimeExecutable: await getDenoCommandName(
this.#extensionContext.approvedPaths,
),
runtimeArgs: [
"run",
...this.#getAdditionalRuntimeArgs(),
Expand Down
2 changes: 1 addition & 1 deletion client/src/lsp_extensions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ interface TestOutput {

interface TestRunRestart {
type: "restart";
enqueued: EnqueuedTestModule[]
enqueued: EnqueuedTestModule[];
}

interface TestEnd {
Expand Down
4 changes: 3 additions & 1 deletion client/src/tasks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,9 @@ class DenoTaskProvider implements vscode.TaskProvider {

const tasks: vscode.Task[] = [];

const process = await getDenoCommandName(this.#extensionContext.approvedPaths);
const process = await getDenoCommandName(
this.#extensionContext.approvedPaths,
);
for (const workspaceFolder of vscode.workspace.workspaceFolders ?? []) {
for (const { command, group, problemMatchers } of defs) {
const task = buildDenoTask(
Expand Down
8 changes: 6 additions & 2 deletions client/src/tasks_sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,9 @@ class DenoTaskProvider implements TaskProvider {
}

async provideTasks(): Promise<Task[]> {
const process = await getDenoCommandName(this.#extensionContext.approvedPaths);
const process = await getDenoCommandName(
this.#extensionContext.approvedPaths,
);
const client = this.#extensionContext.client;
const supportsConfigTasks = this.#extensionContext.serverCapabilities
?.experimental?.denoConfigTasks;
Expand Down Expand Up @@ -254,7 +256,9 @@ export class DenoTasksTreeDataProvider implements TreeDataProvider<TreeItem> {
}

async #debugTask(task: DenoTask) {
const command = `${await getDenoCommandName(this.#extensionContext.approvedPaths)} task ${task.task.name}`;
const command = `${await getDenoCommandName(
this.#extensionContext.approvedPaths,
)} task ${task.task.name}`;
commands.executeCommand(
"extension.js-debug.createDebuggerTerminal",
command,
Expand Down
1 change: 0 additions & 1 deletion media/welcome.css
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@
margin: 0;
}


a:link,
a:visited {
text-decoration: none;
Expand Down
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"description": "A language server client for Deno.",
"author": "Deno Land Inc.",
"license": "MIT",
"version": "3.48.0",
"version": "3.49.0",
"icon": "deno.png",
"galleryBanner": {
"color": "#3B3738",
Expand Down Expand Up @@ -842,8 +842,8 @@
"esbuild-plugin": "esbuild ./typescript-deno-plugin/src/index.ts --bundle --outfile=typescript-deno-plugin/dist/index.js --external:vscode --format=cjs --platform=node",
"esbuild": "npm run esbuild-plugin -- --sourcemap && npm run esbuild-base -- --sourcemap",
"test-compile": "tsc -b",
"fmt": "deno fmt .vscode .github client/src media schemas typescript-deno-plugin/src typescript-deno-plugin/*.md docs package.json tsconfig.json README.md CHANGELOG.md",
"lint": "deno lint --unstable client/src typescript-deno-plugin/src docs",
"fmt": "deno fmt",
"lint": "deno lint",
"postinstall": "cd typescript-deno-plugin && npm i && cd ../client && npm i && cd .."
},
"dependencies": {
Expand Down
4 changes: 2 additions & 2 deletions typescript-deno-plugin/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion typescript-deno-plugin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"author": "Deno Land Inc.",
"license": "MIT",
"private": true,
"version": "3.48.0",
"version": "3.49.0",
"publisher": "deno-land",
"main": "./dist/index",
"files": [
Expand Down