Built-in development tools

Use fmt, lint, check, doc, bench, compile, and bundle to control project quality

Common commands

GoalCommand
Format / verify formatdeno fmt / deno fmt --check
Static rulesdeno lint
Type-check a module graphdeno check main.ts
Generate API docsdeno doc --html --name=my-lib mod.ts
Benchmarkdeno bench
Compile an executabledeno compile --allow-net main.ts
Experimentally bundle a module graphdeno 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.

Type to search all documentation.