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