Built-in development tools
Use fmt, lint, check, doc, bench, compile, and bundle to control project quality
Common commands
| Goal | Command |
|---|---|
| Format / verify format | deno fmt / deno fmt --check |
| Static rules | deno lint |
| Type-check a module graph | deno check main.ts |
| Generate API docs | deno doc --html --name=my-lib mod.ts |
| Benchmark | deno bench |
| Compile an executable | deno compile --allow-net main.ts |
| Experimentally bundle a module graph | deno bundle main.ts -o bundle.js |
deno compile packages the entry graph and runtime, but permissions still follow the official compile/runtime rules. Verify cross-compilation, dynamic assets, and native dependencies separately. The current official docs mark deno bundle as experimental; prefer a framework or Vite build for frontend applications.
Recommended tasks
{
"tasks": {
"dev": "deno run --watch --allow-net main.ts",
"check": "deno fmt --check && deno lint && deno check **/*.ts && deno test"
}
}
Do not run Deno's formatter and another formatter over the same files. During migration, choose one authority before making a mechanical formatting commit.
Official references: Lint and format and Bundling.