mirror of
https://github.com/denoland/deno.git
synced 2024-12-11 01:58:05 -05:00
587f2e0800
Co-authored-by: Marvin Hagemeister <marvin@deno.com>
542 lines
23 KiB
JSON
542 lines
23 KiB
JSON
{
|
|
"$id": "https://deno.land/x/deno/cli/schemas/config-file.v1.json",
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"description": "A JSON representation of a Deno configuration file.",
|
|
"required": [],
|
|
"title": "Deno configuration file Schema",
|
|
"type": "object",
|
|
"properties": {
|
|
"compilerOptions": {
|
|
"type": "object",
|
|
"description": "Instructs the TypeScript compiler how to compile .ts files.",
|
|
"properties": {
|
|
"allowJs": {
|
|
"description": "Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files.",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowJs"
|
|
},
|
|
"allowUnreachableCode": {
|
|
"description": "Disable error reporting for unreachable code.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Disable error reporting for unreachable code.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowUnreachableCode"
|
|
},
|
|
"allowUnusedLabels": {
|
|
"description": "Disable error reporting for unused labels.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Disable error reporting for unused labels.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowUnusedLabels"
|
|
},
|
|
"checkJs": {
|
|
"description": "Enable error reporting in type-checked JavaScript files.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Enable error reporting in type-checked JavaScript files.\n\nSee more: https://www.typescriptlang.org/tsconfig#checkJs"
|
|
},
|
|
"exactOptionalPropertyTypes": {
|
|
"description": "Differentiate between undefined and not present when type checking",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Differentiate between undefined and not present when type checking\n\nSee more: https://www.typescriptlang.org/tsconfig#exactOptionalPropertyTypes"
|
|
},
|
|
"experimentalDecorators": {
|
|
"description": "Enable experimental support for TC39 stage 2 draft decorators.",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Enable experimental support for TC39 stage 2 draft decorators.\n\nSee more: https://www.typescriptlang.org/tsconfig#experimentalDecorators"
|
|
},
|
|
"jsx": {
|
|
"description": "Specify what JSX code is generated.",
|
|
"default": "react",
|
|
"enum": [
|
|
"preserve",
|
|
"react",
|
|
"react-jsx",
|
|
"react-jsxdev",
|
|
"react-native",
|
|
"precompile"
|
|
]
|
|
},
|
|
"jsxFactory": {
|
|
"description": "Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'",
|
|
"type": "string",
|
|
"default": "React.createElement",
|
|
"markdownDescription": "Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'\n\nSee more: https://www.typescriptlang.org/tsconfig#jsxFactory"
|
|
},
|
|
"jsxFragmentFactory": {
|
|
"description": "Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'.",
|
|
"type": "string",
|
|
"default": "React.Fragment",
|
|
"markdownDescription": "Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'.\n\nSee more: https://www.typescriptlang.org/tsconfig#jsxFragmentFactory"
|
|
},
|
|
"jsxImportSource": {
|
|
"description": "Specify module specifier used to import the JSX factory functions when using jsx: 'react-jsx*'.",
|
|
"type": "string",
|
|
"default": "react",
|
|
"markdownDescription": "Specify module specifier used to import the JSX factory functions when using jsx: `react-jsx*`.\n\nSee more: https://www.typescriptlang.org/tsconfig/#jsxImportSource"
|
|
},
|
|
"keyofStringsOnly": {
|
|
"description": "Make keyof only return strings instead of string, numbers or symbols. Legacy option.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Make keyof only return strings instead of string, numbers or symbols. Legacy option.\n\nSee more: https://www.typescriptlang.org/tsconfig#keyofStringsOnly"
|
|
},
|
|
"lib": {
|
|
"description": "Specify a set of bundled library declaration files that describe the target runtime environment.",
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"default": [
|
|
"deno.window"
|
|
],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"markdownDescription": "Specify a set of bundled library declaration files that describe the target runtime environment.\n\nSee more: https://www.typescriptlang.org/tsconfig#lib"
|
|
},
|
|
"noErrorTruncation": {
|
|
"description": "Do not truncate error messages.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Do not truncate error messages.\n\nSee more: https://www.typescriptlang.org/tsconfig#noErrorTruncation"
|
|
},
|
|
"noFallthroughCasesInSwitch": {
|
|
"description": "Enable error reporting for fallthrough cases in switch statements.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Enable error reporting for fallthrough cases in switch statements.\n\nSee more: https://www.typescriptlang.org/tsconfig#noFallthroughCasesInSwitch"
|
|
},
|
|
"noImplicitAny": {
|
|
"description": "Enable error reporting for expressions and declarations with an implied `any` type..",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Enable error reporting for expressions and declarations with an implied `any` type..\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitAny"
|
|
},
|
|
"noImplicitOverride": {
|
|
"description": "Ensure overriding members in derived classes are marked with an override modifier.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Ensure overriding members in derived classes are marked with an override modifier.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitOverride"
|
|
},
|
|
"noImplicitReturns": {
|
|
"description": "Enable error reporting for codepaths that do not explicitly return in a function.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Enable error reporting for codepaths that do not explicitly return in a function.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitReturns"
|
|
},
|
|
"noImplicitThis": {
|
|
"description": "Enable error reporting when `this` is given the type `any`.",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Enable error reporting when `this` is given the type `any`.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitThis"
|
|
},
|
|
"noImplicitUseStrict": {
|
|
"description": "Disable adding 'use strict' directives in emitted JavaScript files.",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Disable adding 'use strict' directives in emitted JavaScript files.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitUseStrict"
|
|
},
|
|
"noStrictGenericChecks": {
|
|
"description": "Disable strict checking of generic signatures in function types.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Disable strict checking of generic signatures in function types.\n\nSee more: https://www.typescriptlang.org/tsconfig#noStrictGenericChecks"
|
|
},
|
|
"noUnusedLocals": {
|
|
"description": "Enable error reporting when a local variables aren't read.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Enable error reporting when a local variables aren't read.\n\nSee more: https://www.typescriptlang.org/tsconfig#noUnusedLocals"
|
|
},
|
|
"noUnusedParameters": {
|
|
"description": "Raise an error when a function parameter isn't read",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Raise an error when a function parameter isn't read\n\nSee more: https://www.typescriptlang.org/tsconfig#noUnusedParameters"
|
|
},
|
|
"noUncheckedIndexedAccess": {
|
|
"description": "Add `undefined` to a type when accessed using an index.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Add `undefined` to a type when accessed using an index.\n\nSee more: https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess"
|
|
},
|
|
"strict": {
|
|
"description": "Enable all strict type checking options.",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Enable all strict type checking options.\n\nSee more: https://www.typescriptlang.org/tsconfig#strict"
|
|
},
|
|
"strictBindCallApply": {
|
|
"description": "Check that the arguments for `bind`, `call`, and `apply` methods match the original function.",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Check that the arguments for `bind`, `call`, and `apply` methods match the original function.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictBindCallApply"
|
|
},
|
|
"strictFunctionTypes": {
|
|
"description": "When assigning functions, check to ensure parameters and the return values are subtype-compatible.",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "When assigning functions, check to ensure parameters and the return values are subtype-compatible.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictFunctionTypes"
|
|
},
|
|
"strictPropertyInitialization": {
|
|
"description": "Check for class properties that are declared but not set in the constructor.",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "Check for class properties that are declared but not set in the constructor.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictPropertyInitialization"
|
|
},
|
|
"strictNullChecks": {
|
|
"description": "When type checking, take into account `null` and `undefined`.",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"markdownDescription": "When type checking, take into account `null` and `undefined`.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictNullChecks"
|
|
},
|
|
"suppressExcessPropertyErrors": {
|
|
"description": "Disable reporting of excess property errors during the creation of object literals.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Disable reporting of excess property errors during the creation of object literals.\n\nSee more: https://www.typescriptlang.org/tsconfig#suppressExcessPropertyErrors"
|
|
},
|
|
"suppressImplicitAnyIndexErrors": {
|
|
"description": "Suppress `noImplicitAny` errors when indexing objects that lack index signatures.",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"markdownDescription": "Suppress `noImplicitAny` errors when indexing objects that lack index signatures.\n\nSee more: https://www.typescriptlang.org/tsconfig#suppressImplicitAnyIndexErrors"
|
|
}
|
|
}
|
|
},
|
|
"importMap": {
|
|
"description": "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.",
|
|
"type": "string"
|
|
},
|
|
"imports": {
|
|
"description": "A map of specifiers to their remapped specifiers.",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"description": "The key is the specifier or partial specifier to match, with a value that represents the target specifier.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"scopes": {
|
|
"default": {},
|
|
"description": "Define a scope which remaps a specifier in only a specified scope",
|
|
"type": "object",
|
|
"properties": {},
|
|
"additionalProperties": {
|
|
"description": "A definition of a scoped remapping.",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"description": "The key is the specifier or partial specifier to match within the referring scope, with a value that represents the target specifier.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"exclude": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will be ignored by all other configurations. Requires Deno 1.34 or later.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"lint": {
|
|
"description": "Configuration for linter",
|
|
"type": "object",
|
|
"properties": {
|
|
"include": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will be linted.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"exclude": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will not be linted.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"files": {
|
|
"type": "object",
|
|
"properties": {
|
|
"include": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will be linted.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"exclude": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will not be linted.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"rules": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tags": {
|
|
"type": "array",
|
|
"description": "List of tag names that will be run. Empty list disables all tags and will only use rules from `include`.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"uniqueItems": true
|
|
},
|
|
"exclude": {
|
|
"type": "array",
|
|
"description": "List of rule names that will be excluded from configured tag sets. If the same rule is in `include` it will be run.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"uniqueItems": true
|
|
},
|
|
"include": {
|
|
"type": "array",
|
|
"description": "List of rule names that will be run. Even if the same rule is in `exclude` it will be run.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
},
|
|
"report": {
|
|
"default": "pretty",
|
|
"enum": [
|
|
"pretty",
|
|
"json",
|
|
"compact"
|
|
],
|
|
"description": "The default report format to use when linting"
|
|
}
|
|
}
|
|
},
|
|
"fmt": {
|
|
"description": "Configuration for formatter",
|
|
"type": "object",
|
|
"properties": {
|
|
"include": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will be formatted.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"exclude": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will not be formatted.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"files": {
|
|
"type": "object",
|
|
"properties": {
|
|
"include": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will be formatted.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"exclude": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will not be formatted.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"useTabs": {
|
|
"description": "Whether to use tabs (true) or spaces (false) for indentation.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"lineWidth": {
|
|
"description": "The width of a line the printer will try to stay under. Note that the printer may exceed this width in certain cases.",
|
|
"type": "number",
|
|
"default": 80
|
|
},
|
|
"indentWidth": {
|
|
"description": "The number of characters for an indent.",
|
|
"type": "number",
|
|
"default": 2
|
|
},
|
|
"singleQuote": {
|
|
"type": "boolean",
|
|
"description": "Whether to use single quote (true) or double quote (false) for quotation.",
|
|
"default": false
|
|
},
|
|
"proseWrap": {
|
|
"description": "Define how prose should be wrapped in Markdown files.",
|
|
"default": "always",
|
|
"enum": [
|
|
"always",
|
|
"never",
|
|
"preserve"
|
|
]
|
|
},
|
|
"semiColons": {
|
|
"description": "Whether to prefer using semicolons.",
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"options": {
|
|
"type": "object",
|
|
"properties": {
|
|
"useTabs": {
|
|
"description": "Whether to use tabs (true) or spaces (false) for indentation.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"lineWidth": {
|
|
"description": "The width of a line the printer will try to stay under. Note that the printer may exceed this width in certain cases.",
|
|
"type": "number",
|
|
"default": 80
|
|
},
|
|
"indentWidth": {
|
|
"description": "The number of characters for an indent.",
|
|
"type": "number",
|
|
"default": 2
|
|
},
|
|
"singleQuote": {
|
|
"type": "boolean",
|
|
"description": "Whether to use single quote (true) or double quote (false) for quotation.",
|
|
"default": false
|
|
},
|
|
"proseWrap": {
|
|
"description": "Define how prose should be wrapped in Markdown files.",
|
|
"default": "always",
|
|
"enum": [
|
|
"always",
|
|
"never",
|
|
"preserve"
|
|
]
|
|
},
|
|
"semiColons": {
|
|
"description": "Whether to prefer using semicolons.",
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"nodeModulesDir": {
|
|
"description": "Enables or disables the use of a local node_modules folder for npm packages. Alternatively, use the `--node-modules-dir` flag or override the config via `--node-modules-dir=false`. Requires Deno 1.34 or later.",
|
|
"type": "boolean"
|
|
},
|
|
"vendor": {
|
|
"description": "UNSTABLE: 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.",
|
|
"type": "boolean"
|
|
},
|
|
"tasks": {
|
|
"description": "Configuration for deno task",
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^[A-Za-z][A-Za-z0-9_\\-:]*$": {
|
|
"type": "string",
|
|
"description": "Command to execute for this task name."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"test": {
|
|
"description": "Configuration for deno test",
|
|
"type": "object",
|
|
"properties": {
|
|
"include": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will be searched for tests.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"exclude": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will not be searched for tests.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"files": {
|
|
"type": "object",
|
|
"properties": {
|
|
"include": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will be searched for tests.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"exclude": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will not be searched for tests.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"bench": {
|
|
"description": "Configuration for deno bench",
|
|
"type": "object",
|
|
"properties": {
|
|
"include": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will be searched for benchmarks.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"exclude": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will not be searched for benchmarks.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"files": {
|
|
"type": "object",
|
|
"properties": {
|
|
"include": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will be searched for benchmarks.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"exclude": {
|
|
"type": "array",
|
|
"description": "List of files, directories or globs that will not be searched for benchmarks.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"lock": {
|
|
"description": "Whether to use a lock file or the path to use for the lock file. Can be overridden by CLI arguments.",
|
|
"type": ["string", "boolean"],
|
|
"default": true
|
|
},
|
|
"unstable": {
|
|
"type": "array",
|
|
"description": "List of unstable features to enable.",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|