Type object
File match deno.json deno.jsonc
Schema URL https://catalog.lintel.tools/schemas/schemastore/deno-config-deno-json/latest.json
Source https://raw.githubusercontent.com/denoland/deno/main/cli/schemas/config-file.v1.json

Validate with Lintel

npx @lintel/lintel check
Type: object

A JSON representation of a Deno configuration file.

Properties

allowScripts boolean | allowScriptsList | object
compile object

Configuration for deno compile.

3 nested properties
include string[]

List of additional modules or files/directories to include in the compiled executable.

exclude string[]

List of files/directories to exclude from the compiled executable.

permissions string | permissionSet

A permission set name to use or inline permission set.

compilerOptions object

Instructs the TypeScript compiler how to compile .ts files.

41 nested properties
allowJs boolean

Allow JavaScript files to be a part of your program. Use the checkJS option to get errors from these files.

See more: https://www.typescriptlang.org/tsconfig#allowJs

Default: true
allowUnreachableCode boolean

Disable error reporting for unreachable code.

See more: https://www.typescriptlang.org/tsconfig#allowUnreachableCode

Default: false
allowUnusedLabels boolean

Disable error reporting for unused labels.

See more: https://www.typescriptlang.org/tsconfig#allowUnusedLabels

Default: false
checkJs boolean

Enable error reporting in type-checked JavaScript files.

See more: https://www.typescriptlang.org/tsconfig#checkJs

Default: false
emitDecoratorMetadata boolean

Emit design-type metadata for decorated declarations in source files.

See more: https://www.typescriptlang.org/tsconfig/#emitDecoratorMetadata

Default: false
erasableSyntaxOnly boolean | null

Do not allow runtime constructs that are not part of ECMAScript.

See more: https://www.typescriptlang.org/tsconfig#erasableSyntaxOnly

Default: false
exactOptionalPropertyTypes boolean

Interpret optional property types as written, rather than adding 'undefined'.

See more: https://www.typescriptlang.org/tsconfig#exactOptionalPropertyTypes

Default: false
experimentalDecorators boolean

Enable experimental support for legacy experimental decorators.

See more: https://www.typescriptlang.org/tsconfig#experimentalDecorators

Default: false
isolatedDeclarations boolean

Require sufficient annotation on exports so other tools can trivially generate declaration files.

See more: https://www.typescriptlang.org/tsconfig/#isolatedDeclarations

Default: false
jsx enum

Specify what JSX code is generated.

Default: "react"
Values: "preserve" "react" "react-jsx" "react-jsxdev" "react-native" "precompile"
jsxFactory string

Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'

See more: https://www.typescriptlang.org/tsconfig#jsxFactory

Default: "React.createElement"
jsxFragmentFactory string

Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'.

See more: https://www.typescriptlang.org/tsconfig#jsxFragmentFactory

Default: "React.Fragment"
jsxImportSource string

Specify module specifier used to import the JSX factory functions when using jsx: react-jsx*.

See more: https://www.typescriptlang.org/tsconfig/#jsxImportSource

Default: "react"
jsxImportSourceTypes string

Specify module specifier used to import the types for the JSX factory functions when using jsx: react-jsx*. This is the logical equivalent of prefixing an import to the jsxImportSource with // @deno-types="...".

Default: "@types/react"
jsxPrecompileSkipElements string[]

Specify list of elements that should be exempt from being precompiled when the jsx precompile transform is used.

lib string[]

Specify a set of bundled library declaration files that describe the target runtime environment.

See more: https://www.typescriptlang.org/tsconfig#lib

Default:
[
  "deno.window",
  "deno.unstable",
  "node"
]
uniqueItems=true
module string | null

Specify what module code is generated.

See more: https://www.typescriptlang.org/tsconfig#module

Any of: enum enum, variant
moduleResolution string | null

Specify how TypeScript looks up a file from a given module specifier.

See more: https://www.typescriptlang.org/tsconfig#moduleResolution

Any of: enum enum, variant
noErrorTruncation boolean

Do not truncate error messages.

See more: https://www.typescriptlang.org/tsconfig#noErrorTruncation

Default: false
noFallthroughCasesInSwitch boolean

Enable error reporting for fallthrough cases in switch statements.

See more: https://www.typescriptlang.org/tsconfig#noFallthroughCasesInSwitch

Default: false
noImplicitAny boolean

Enable error reporting for expressions and declarations with an implied any type.

See more: https://www.typescriptlang.org/tsconfig#noImplicitAny

Default: true
noImplicitOverride boolean

Ensure overriding members in derived classes are marked with an override modifier.

See more: https://www.typescriptlang.org/tsconfig#noImplicitOverride

Default: true
noImplicitReturns boolean

Enable error reporting for codepaths that do not explicitly return in a function.

See more: https://www.typescriptlang.org/tsconfig#noImplicitReturns

Default: false
noImplicitThis boolean

Enable error reporting when this is given the type any.

See more: https://www.typescriptlang.org/tsconfig#noImplicitThis

Default: true
noPropertyAccessFromIndexSignature boolean

Enforces using indexed accessors for keys declared using an indexed type.

See more: https://www.typescriptlang.org/tsconfig#noPropertyAccessFromIndexSignature

Default: false
noUncheckedIndexedAccess boolean

Add undefined to a type when accessed using an index.

See more: https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess

Default: false
noUnusedLocals boolean

Enable error reporting when a local variables aren't read.

See more: https://www.typescriptlang.org/tsconfig#noUnusedLocals

Default: false
noUnusedParameters boolean

Raise an error when a function parameter isn't read

See more: https://www.typescriptlang.org/tsconfig#noUnusedParameters

Default: false
baseUrl string | null

Specify the base directory to resolve non-relative module names.

In Deno, this is only applied to bare specifier entries in compilerOptions.paths and compilerOptions.rootDirs.

See more: https://www.typescriptlang.org/tsconfig#baseUrl

paths Record<string, array | null>

Specify a set of entries that re-map imports to additional lookup locations.

See more: https://www.typescriptlang.org/tsconfig#paths

rootDirs string[]

Declare many “virtual” directories acting as a single root.

See more: https://www.typescriptlang.org/tsconfig#rootDirs

skipLibCheck boolean

Skip type checking all .d.ts files.

See more: https://www.typescriptlang.org/tsconfig#skipLibCheck

Default: false
strict boolean

Enable all strict type checking options.

See more: https://www.typescriptlang.org/tsconfig#strict

Default: true
strictBindCallApply boolean

Check that the arguments for bind, call, and apply methods match the original function.

See more: https://www.typescriptlang.org/tsconfig#strictBindCallApply

Default: true
strictBuiltinIteratorReturn boolean

Built-in iterators are instantiated with a TReturn type of undefined instead of any.

See more: https://www.typescriptlang.org/tsconfig/#strictBuiltinIteratorReturn

Default: true
strictFunctionTypes boolean

When assigning functions, check to ensure parameters and the return values are subtype-compatible.

See more: https://www.typescriptlang.org/tsconfig#strictFunctionTypes

Default: true
strictNullChecks boolean

When type checking, take into account null and undefined.

See more: https://www.typescriptlang.org/tsconfig#strictNullChecks

Default: true
strictPropertyInitialization boolean

Check for class properties that are declared but not set in the constructor.

See more: https://www.typescriptlang.org/tsconfig#strictPropertyInitialization

Default: true
types string[]

Specify type package names to be included without being referenced in a source file.

See more: https://www.typescriptlang.org/tsconfig/#types

useUnknownInCatchVariables boolean

Default catch clause variables as unknown instead of any.

See more: https://www.typescriptlang.org/tsconfig#useUnknownInCatchVariables

Default: true
verbatimModuleSyntax boolean

Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting.

See more: https://www.typescriptlang.org/tsconfig/#verbatimModuleSyntax

Default: false
deploy object

Configuration for deno deploy and deno sandbox.

9 nested properties
org string

The organization slug or ID to interact with.

app string

The application slug or ID to interact with.

framework string

The framework this application is built with, such as nextjs or fresh. Part of the build configuration. When specified, takes precedence over all configuration specified in the console.

install string

The command to install dependencies. Part of the build configuration. When specified, takes precedence over all configuration specified in the console.

build string

The command to build the application. Part of the build configuration. When specified, takes precedence over all configuration specified in the console.

predeploy string

The command to run before deploying, usually used to run database migrations. When specified, takes precedence over all configuration specified in the console.

runtime object

Runtime configuration for the deployed application. When specified, takes precedence over all configuration specified in the console.

5 nested properties
mode string

The runtime mode. Use 'dynamic' for server-rendered applications or 'static' for pre-built static files.

Default: "dynamic"
Values: "dynamic" "static"
entrypoint string

The entrypoint file for dynamic mode (e.g., 'main.ts').

args string[]

Arguments to pass to the entrypoint for dynamic mode.

cwd string

The working directory. For dynamic mode, this is the current working directory. For static mode, this is the directory containing static files to serve.

spa boolean

Enable single-page application mode for static deployments. When enabled, all routes will fall back to index.html.

Default: false
include string[]

List of files, directories or globs that will be included in deployments.

exclude string[]

List of files, directories or globs that will not be included in deployments.

importMap string

The location of an import map to be used when resolving modules. If an import map is specified as an --importmap flag or using "imports" and "scopes" properties, they will override this value.

imports Record<string, string>

A map of specifiers to their remapped specifiers.

scopes Record<string, object>

Define a scope which remaps a specifier in only a specified scope

Default:
{}
exclude string[]

List of files, directories or globs that will be ignored by all other configurations. Requires Deno 1.34 or later.

lint object

Configuration for linter

5 nested properties
include string[]

List of files, directories or globs that will be linted.

exclude string[]

List of files, directories or globs that will not be linted.

plugins string[]

UNSTABLE: List of plugins to load. These can be paths, npm or jsr specifiers

rules object
3 nested properties

List of tag names that will be run. Empty list disables all tags and will only use rules from include.

minItems=0uniqueItems=true

List of rule names that will be excluded from configured tag sets. If the same rule is in include it will be run.

minItems=0uniqueItems=true

List of rule names that will be run. Even if the same rule is in exclude it will be run.

minItems=0uniqueItems=true
report enum

The default report format to use when linting

Default: "pretty"
Values: "pretty" "json" "compact"
fmt object

Configuration for formatter

25 nested properties
include string[]

List of files, directories or globs that will be formatted.

exclude string[]

List of files, directories or globs that will not be formatted.

useTabs boolean

Whether to use tabs (true) or spaces (false) for indentation.

Default: false
lineWidth number

The width of a line the printer will try to stay under. Note that the printer may exceed this width in certain cases.

Default: 80
indentWidth number

The number of characters for an indent.

Default: 2
singleQuote boolean

Whether to use single quote (true) or double quote (false) for quotation.

Default: false
proseWrap enum

Define how prose should be wrapped in Markdown files.

Default: "always"
Values: "always" "never" "preserve"
semiColons boolean

Whether to prefer using semicolons.

Default: true
quoteProps enum

Change when properties in objects are quoted in JavaScript and TypeScript.

Default: "preserve"
Values: "asNeeded" "consistent" "preserve"
newLineKind enum

The newline character to use.

Default: "lf"
Values: "auto" "crlf" "lf" "system"
useBraces enum

Whether to use braces for if statements, for statements, and while statements in JavaScript and TypeScript.

Default: "whenNotSingleLine"
Values: "maintain" "whenNotSingleLine" "always" "preferNone"
bracePosition enum

The position of opening braces for blocks in JavaScript and TypeScript.

Default: "sameLine"
Values: "maintain" "sameLine" "nextLine" "sameLineUnlessHanging"
singleBodyPosition enum

The position of the body in single body blocks in JavaScript and TypeScript.

Default: "sameLineUnlessHanging"
Values: "maintain" "sameLine" "nextLine" "sameLineUnlessHanging"
nextControlFlowPosition enum

Where to place the next control flow within a control flow statement in JavaScript and TypeScript.

Default: "sameLine"
Values: "maintain" "sameLine" "nextLine"
trailingCommas enum

Whether to add trailing commas in JavaScript and TypeScript.

Default: "onlyMultiLine"
Values: "never" "always" "onlyMultiLine"
operatorPosition enum

Where to place the operator for expressions that span multiple lines in JavaScript and TypeScript.

Default: "sameLine"
Values: "maintain" "sameLine" "nextLine"
jsx.bracketPosition enum

If the end angle bracket of a jsx open element or self closing element should be on the same or next line when the attributes span multiple lines.

Default: "nextLine"
Values: "maintain" "sameLine" "nextLine"
jsx.forceNewLineSurroundingContent boolean

Forces newlines surrounding the content of JSX elements.

Default: false
jsx.multiLineParens enum

Surrounds the top-most JSX element or fragment in parentheses when it spans multiple lines.

Default: "prefer"
Values: "never" "prefer" "always"
typeLiteral.separatorKind enum

The kind of separator to use in type literals.

Default: "semiColon"
Values: "comma" "semiColon"
spaceAround boolean

Whether to place spaces around enclosed expressions in JavaScript and TypeScript.

Default: false
spaceSurroundingProperties boolean

Whether to add a space surrounding the properties of single line object-like nodes in JavaScript and TypeScript.

Default: true
vueComponentCase enum

Case style for Vue component tags.

Default: "ignore"
Values: "ignore" "pascal-case" "kebab-case"
angularNextControlFlowSameLine boolean

Whether Angular next control-flow clauses stay on the same line.

Default: true
options object
6 nested properties
useTabs boolean

Whether to use tabs (true) or spaces (false) for indentation.

Default: false
lineWidth number

The width of a line the printer will try to stay under. Note that the printer may exceed this width in certain cases.

Default: 80
indentWidth number

The number of characters for an indent.

Default: 2
singleQuote boolean

Whether to use single quote (true) or double quote (false) for quotation.

Default: false
proseWrap enum

Define how prose should be wrapped in Markdown files.

Default: "always"
Values: "always" "never" "preserve"
semiColons boolean

Whether to prefer using semicolons.

Default: true
minimumDependencyAge minimumDependencyAgeDate | object
nodeModulesDir enum | boolean
vendor boolean

Enables or disables the use of a local vendor folder as a local cache for remote modules and node_modules folder for npm packages. Alternatively, use the --vendor flag or override the config via --vendor=false. Requires Deno 1.36.1 or later.

tasks object

Configuration for deno task

test object

Configuration for deno test

3 nested properties
include string[]

List of files, directories or globs that will be searched for tests.

exclude string[]

List of files, directories or globs that will not be searched for tests.

permissions string | permissionSet

A permission set name to use or inline permission set.

publish object | boolean
bench object

Configuration for deno bench

3 nested properties
include string[]

List of files, directories or globs that will be searched for benchmarks.

exclude string[]

List of files, directories or globs that will not be searched for benchmarks.

permissions string | permissionSet

A permission set name to use or inline permission set.

license string

The SPDX license identifier if this is a JSR package. Specify this or add a license file to the package.

lock string | boolean | object

Whether to use a lock file or the path to use for the lock file. Can be overridden by CLI arguments.

Default: true
2 nested properties
path string

The path to use for the lock file.

Default: "deno.lock"
frozen boolean

Whether to exit with an error if lock file is out of date.

Default: false
unstable string[]

List of unstable features to enable.

name string

The name of this JSR or workspace package.

version string

The version of this JSR package.

exports string | object
permissions Record<string, object>

Named permission sets that can be selected with -P/--permission-set or referenced in "test", "bench", or "compile" permissions. A special name "default" is used when -P is passed without a value.

patch string[]

This unstable property was renamed to "links" in Deno 2.3.6.

workspace string[] | object

Definitions

permissionConfigValue boolean | string[]
allowDenyIgnorePermissionConfig object

Object form to allow, deny, and/or ignore permissions.

allow boolean | string[]
deny boolean | string[]
ignore boolean | string[]
allowDenyIgnorePermissionConfigValue permissionConfigValue | allowDenyIgnorePermissionConfig
allowDenyPermissionConfig object

Object form to allow and/or deny permissions.

allow boolean | string[]
deny boolean | string[]
allowDenyPermissionConfigValue permissionConfigValue | allowDenyPermissionConfig
allowScriptsList string[]

List of npm package constraints to allow or deny for lifecycle scripts.

permissionNameOrSet string | permissionSet

A permission set name to use or inline permission set.

minimumDependencyAgeDate string | number