On this page
deno fmt
, code formatting
Command line usage
deno fmt [OPTIONS] [files]...
Auto-format various file types.
deno fmt myfile1.ts myfile2.ts
Supported file types are:
JavaScript, TypeScript, Markdown, JSON(C) and Jupyter Notebooks
Supported file types which are behind corresponding unstable flags (see formatting options):
HTML, CSS, SCSS, SASS, LESS, YAML, Svelte, Vue, Astro and Angular
Format stdin and write to stdout:
cat file.ts | deno fmt -
Check if the files are formatted:
deno fmt --check
Ignore formatting code by preceding it with an ignore comment:
// deno-fmt-ignore
Ignore formatting a file by adding an ignore comment at the top of the file:
// deno-fmt-ignore-file
Options Jump to heading
--config
Jump to heading
Short flag: -c
Configure different aspects of deno including TypeScript, linting, and code formatting
Typically the configuration file will be called deno.json
or deno.jsonc
and
automatically detected; in that case this flag is not necessary.
--no-config
Jump to heading
Disable automatic loading of the configuration file.
Formatting options Jump to heading
--check
Jump to heading
Check if the source files are formatted.
--ext
Jump to heading
Set content type of the supplied file.
--ignore
Jump to heading
Ignore formatting particular source files.
--indent-width
Jump to heading
Define indentation width [default: 2]
--line-width
Jump to heading
Define maximum line width [default: 80]
--no-semicolons
Jump to heading
Don't use semicolons except where necessary [default: false]
--prose-wrap
Jump to heading
Define how prose should be wrapped [default: always]
--single-quote
Jump to heading
Use single quotes [default: false]
--unstable-component
Jump to heading
Enable formatting Svelte, Vue, Astro and Angular files.
--unstable-sql
Jump to heading
Enable formatting SQL files.
--use-tabs
Jump to heading
Use tabs instead of spaces for indentation [default: false]
File watching options Jump to heading
--no-clear-screen
Jump to heading
Do not clear terminal screen when under watch mode.
--watch
Jump to heading
Watch for file changes and restart process automatically. Only local files from entry point module graph are watched.
--watch-exclude
Jump to heading
Exclude provided files/patterns from watch mode.
Supported File Types Jump to heading
Deno ships with a built-in code formatter that will auto-format the following files:
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>
To ignore a section of code, surround the code with
<!-- deno-fmt-ignore-start -->
and <!-- deno-fmt-ignore-end -->
comments.
Or ignore an entire file by adding a <!-- deno-fmt-ignore-file -->
comment at
the top of the file.
YAML Jump to heading
Ignore formatting next item by preceding it with # deno-fmt-ignore
comment:
# deno-fmt-ignore aaaaaa: bbbbbbb
More about linting and formatting Jump to heading
For more information about linting and formating in Deno, and the differences between these two utilities, visit the Linting and Formatting page in our Fundamentals section.