Skip to content
Open
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
1 change: 1 addition & 0 deletions docs/plugins/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ marketplace-style index for those plugins and a quick reference for how each one
| `scoop` | Command-line Installer Provisioning Framework | `config_provider` | [Details](./scoop.md) |
| `sdkman` | Software Development Kit Manager for Java Ecosystem | `config_provider` | [Details](./sdkman.md) |
| `syncthing` | Continuous File Synchronization Framework | `config_provider` | [Details](./syncthing.md) |
| `deno` | JavaScript and TypeScript Runtime Config Provider | `config_provider` | [Details](./deno.md) |
| `winget` | Manages Winget CLI `settings.json`, separate from package installation. | `config_provider` | [Details](#winget) |
| `7-zip` | High-Ratio File Archiver and Compression Tool | `config_provider` | [Details](./7-zip.md) |

Expand Down
84 changes: 84 additions & 0 deletions docs/plugins/deno.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Deno Plugin

## Overview

The Deno plugin manages configuration for the Deno runtime by reading and writing settings to your project's `deno.json` (or `deno.jsonc`) file.

## Prerequisites

- Deno installed
- Available in PATH
- Windows 10 or later

## Configuration Schema

| Key | Purpose |
| --- | ------- |
| importMap | Path to an import map file |
| compilerOptions | TypeScript compiler options |
| lint | Linting configuration |
| fmt | Code formatting configuration |
| tasks | Deno task definitions |
| nodeModulesDir | Whether to use a node_modules directory |
| unstable | Unstable feature flags |
| vendor | Vendoring configuration |
| permissions | Default permissions |
| publish | Publishing configuration |
| lock | Lockfile configuration |
| typeCheckOnRun | Enable type checking on deno run |
| watch | File watching configuration |

## Usage Examples

### Basic formatter and linter config

```yaml
extensions:
deno:
settings:
fmt:
indentWidth: 2
singleQuote: true
lint:
rules:
tags:
- recommended
```

### With import map and task definitions

```yaml
extensions:
deno:
settings:
importMap: "./import_map.json"
tasks:
start: "deno run --allow-net main.ts"
test: "deno test --allow-read"
```

### Using node_modules and unstable features

```yaml
extensions:
deno:
settings:
nodeModulesDir: true
unstable:
- "bare-node-builtins"
- "sloppy-imports"
```

## Verification Steps

```powershell
deno --version
```

## Notes / Caveats

- Only the predefined set of Deno settings listed above are supported; unknown keys are ignored.
- The plugin automatically backs up your existing `deno.json` before making any changes.
- If both `deno.json` and `deno.jsonc` exist, `deno.json` takes priority.
- This plugin only manages `deno.json` settings — it does not install Deno itself.
- Windows only: this plugin is part of WinHome, a Windows developer environment tool.