On this page
deno fmt
Deno ships with a built-in code formatter based on dprint that auto-formats your code to a consistent style. For a broader overview, see Linting and Formatting.
Basic usage Jump to heading
Format all supported files in the current directory:
deno fmt
Format specific files or directories:
deno fmt main.ts src/
Watch mode Jump to heading
Automatically re-format files when they change:
deno fmt --watch
Check formatting in CI Jump to heading
Use --check to verify files are formatted without modifying them. The command
exits with a non-zero status code if any files are unformatted:
deno fmt --check
Add --fail-fast to stop on the first unformatted file instead of reporting all
of them, which is useful in large codebases:
deno fmt --check --fail-fast
Formatting stdin Jump to heading
Format code piped through stdin — useful for editor integrations:
cat main.ts | deno fmt -
Configuring the formatter Jump to heading
Customize formatting options in your deno.json:
{
"fmt": {
"useTabs": false,
"lineWidth": 80,
"indentWidth": 2,
"semiColons": true,
"singleQuote": false,
"proseWrap": "preserve"
}
}
See the Configuration page for all available options.
Including and excluding files Jump to heading
Specify which files to format in deno.json:
{
"fmt": {
"include": ["src/"],
"exclude": ["src/testdata/", "src/generated/**/*.ts"]
}
}
You can also exclude files from the command line:
deno fmt --ignore=dist/,build/
Supported file types Jump to heading
| File Type | Extension | Notes |
|---|---|---|
| JavaScript | .js, .cjs, .mjs |
|
| TypeScript | .ts, .mts, .cts |
|
| JSX | .jsx |
|
| TSX | .tsx |
|
| Markdown | .md, .mkd, .mkdn, .mdwn, .mdown, .markdown |
|
| JSON | .json |
|
| JSONC | .jsonc |
|
| CSS | .css |
|
| HTML | .html |
|
| Nunjucks | .njk |
|
| Vento | .vto |
|
| YAML | .yml, .yaml |
|
| Sass | .sass |
|
| SCSS | .scss |
|
| LESS | .less |
|
| Jupyter Notebook | .ipynb |
|
| Astro | .astro |
Requires --unstable-component flag or "unstable": ["fmt-component"] config option. |
| Svelte | .svelte |
Requires --unstable-component flag or "unstable": ["fmt-component"] config option. |
| Vue | .vue |
Requires --unstable-component flag or "unstable": ["fmt-component"] config option. |
| SQL | .sql |
Requires --unstable-sql flag or "unstable": ["fmt-sql"] config option. |
deno fmt can format code snippets in Markdown files. Snippets must be
enclosed in triple backticks and have a language attribute.
Ignoring code Jump to heading
JavaScript / TypeScript / JSONC Jump to heading
Ignore formatting code by preceding it with a // deno-fmt-ignore comment:
// deno-fmt-ignore
export const identity = [
1, 0, 0,
0, 1, 0,
0, 0, 1,
];
Or ignore an entire file by adding a // deno-fmt-ignore-file comment at the
top of the file.
Markdown / HTML / CSS Jump to heading
Ignore formatting next item by preceding it with <!--- deno-fmt-ignore -->
comment:
<html>
<body>
<p>
Hello there
<!-- deno-fmt-ignore -->
</p>
</body>
</html>