{"title":"JSON schema for the TypeScript compiler's configuration file","$schema":"http://json-schema.org/draft-04/schema#","id":"https://json.schemastore.org/tsconfig","definitions":{"//":{"explainer":"https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#overview","reference":"https://www.typescriptlang.org/tsconfig","reference metadata":"https://github.com/microsoft/TypeScript-Website/blob/v2/packages/tsconfig-reference/scripts/tsconfigRules.ts"},"filesDefinition":{"properties":{"files":{"type":"array","uniqueItems":true,"items":{"type":"string"}}}},"excludeDefinition":{"properties":{"exclude":{"type":"array","uniqueItems":true,"items":{"type":"string"}}}},"includeDefinition":{"properties":{"include":{"type":"array","uniqueItems":true,"items":{"type":"string"}}}},"compileOnSaveDefinition":{"properties":{"compileOnSave":{"type":"boolean"}}},"extendsDefinition":{"properties":{"extends":{"type":"string"}}},"compilerOptionsDefinition":{"properties":{"compilerOptions":{"type":"object","properties":{"charset":{"type":"string"},"composite":{"type":"boolean","default":true},"declaration":{"type":"boolean","default":false},"declarationDir":{"type":["string","null"]},"diagnostics":{"type":"boolean"},"disableReferencedProjectLoad":{"type":"boolean"},"emitBOM":{"type":"boolean","default":false},"emitDeclarationOnly":{"type":"boolean","default":false},"incremental":{"type":"boolean"},"tsBuildInfoFile":{"default":".tsbuildinfo","type":"string"},"inlineSourceMap":{"type":"boolean","default":false},"inlineSources":{"type":"boolean","default":false},"jsx":{"enum":["preserve","react","react-jsx","react-jsxdev","react-native"]},"reactNamespace":{"type":"string","default":"React"},"jsxFactory":{"type":"string","default":"React.createElement"},"jsxFragmentFactory":{"type":"string","default":"React.Fragment"},"jsxImportSource":{"type":"string","default":"react"},"listFiles":{"type":"boolean","default":false},"mapRoot":{"type":"string"},"module":{"type":"string","anyOf":[{"enum":["CommonJS","AMD","System","UMD","ES6","ES2015","ES2020","ESNext","None"]},{"pattern":"^([Cc][Oo][Mm][Mm][Oo][Nn][Jj][Ss]|[AaUu][Mm][Dd]|[Ss][Yy][Ss][Tt][Ee][Mm]|[Ee][Ss]([356]|201[567]|2020|[Nn][Ee][Xx][Tt])|[Nn][Oo][Nn][Ee])$"}]},"moduleResolution":{"type":"string","anyOf":[{"enum":["Classic","Node"]},{"pattern":"^(([Nn]ode)|([Cc]lassic))$"}],"default":"classic"},"newLine":{"type":"string","anyOf":[{"enum":["crlf","lf"]},{"pattern":"^(CRLF|LF|crlf|lf)$"}]},"noEmit":{"type":"boolean","default":false},"noEmitHelpers":{"type":"boolean","default":false},"noEmitOnError":{"type":"boolean","default":false},"noImplicitAny":{"type":"boolean"},"noImplicitThis":{"type":"boolean"},"noUnusedLocals":{"type":"boolean","default":false},"noUnusedParameters":{"type":"boolean","default":false},"noLib":{"type":"boolean","default":false},"noResolve":{"type":"boolean","default":false},"noStrictGenericChecks":{"type":"boolean","default":false},"skipDefaultLibCheck":{"type":"boolean","default":false},"skipLibCheck":{"type":"boolean","default":false},"outFile":{"type":"string"},"outDir":{"type":"string"},"preserveConstEnums":{"type":"boolean","default":false},"preserveSymlinks":{"type":"boolean","default":false},"preserveWatchOutput":{"type":"boolean"},"pretty":{"type":"boolean","default":true},"removeComments":{"type":"boolean","default":false},"rootDir":{"type":"string"},"isolatedModules":{"type":"boolean","default":false},"sourceMap":{"type":"boolean","default":false},"sourceRoot":{"type":"string"},"suppressExcessPropertyErrors":{"type":"boolean","default":false},"suppressImplicitAnyIndexErrors":{"type":"boolean","default":false},"stripInternal":{"type":"boolean"},"target":{"type":"string","default":"ES3","anyOf":[{"enum":["ES3","ES5","ES6","ES2015","ES2016","ES2017","ES2018","ES2019","ES2020","ESNext"]},{"pattern":"^([Ee][Ss]([356]|(20(1[56789]|20))|[Nn][Ee][Xx][Tt]))$"}]},"watch":{"type":"boolean"},"fallbackPolling":{"enum":["fixedPollingInterval","priorityPollingInterval","dynamicPriorityPolling"]},"watchDirectory":{"enum":["useFsEvents","fixedPollingInterval","dynamicPriorityPolling"],"default":"useFsEvents"},"watchFile":{"enum":["fixedPollingInterval","priorityPollingInterval","dynamicPriorityPolling","useFsEvents","useFsEventsOnParentDirectory"],"default":"useFsEvents"},"experimentalDecorators":{"type":"boolean"},"emitDecoratorMetadata":{"type":"boolean"},"allowUnusedLabels":{"type":"boolean"},"noImplicitReturns":{"type":"boolean","default":false},"noUncheckedIndexedAccess":{"type":"boolean"},"noFallthroughCasesInSwitch":{"type":"boolean","default":false},"allowUnreachableCode":{"type":"boolean"},"forceConsistentCasingInFileNames":{"type":"boolean","default":false},"generateCpuProfile":{"type":"string","default":"profile.cpuprofile"},"baseUrl":{"type":"string"},"paths":{"type":"object","additionalProperties":{"type":"array","uniqueItems":true,"items":{"type":"string"}}},"plugins":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"}}}},"rootDirs":{"type":"array","uniqueItems":true,"items":{"type":"string"}},"typeRoots":{"type":"array","uniqueItems":true,"items":{"type":"string"}},"types":{"type":"array","uniqueItems":true,"items":{"type":"string"}},"traceResolution":{"type":"boolean","default":false},"allowJs":{"type":"boolean","default":false},"noErrorTruncation":{"type":"boolean","default":false},"allowSyntheticDefaultImports":{"type":"boolean"},"noImplicitUseStrict":{"type":"boolean","default":false},"listEmittedFiles":{"type":"boolean","default":false},"disableSizeLimit":{"type":"boolean","default":false},"lib":{"type":"array","uniqueItems":true,"items":{"type":"string","anyOf":[{"enum":["ES5","ES6","ES2015","ES2015.Collection","ES2015.Core","ES2015.Generator","ES2015.Iterable","ES2015.Promise","ES2015.Proxy","ES2015.Reflect","ES2015.Symbol.WellKnown","ES2015.Symbol","ES2016","ES2016.Array.Include","ES2017","ES2017.Intl","ES2017.Object","ES2017.SharedMemory","ES2017.String","ES2017.TypedArrays","ES2018","ES2018.AsyncGenerator","ES2018.AsyncIterable","ES2018.Intl","ES2018.Promise","ES2018.Regexp","ES2019","ES2019.Array","ES2019.Object","ES2019.String","ES2019.Symbol","ES2020","ES2020.BigInt","ES2020.Promise","ES2020.String","ES2020.Symbol.WellKnown","ESNext","ESNext.Array","ESNext.AsyncIterable","ESNext.BigInt","ESNext.Intl","ESNext.Promise","ESNext.String","ESNext.Symbol","DOM","DOM.Iterable","ScriptHost","WebWorker","WebWorker.ImportScripts"]},{"pattern":"^[Ee][Ss]5|[Ee][Ss]6|[Ee][Ss]7$"},{"pattern":"^[Ee][Ss]2015(\\.([Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]|[Cc][Oo][Rr][Ee]|[Gg][Ee][Nn][Ee][Rr][Aa][Tt][Oo][Rr]|[Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Pp][Rr][Oo][Xx][Yy]|[Rr][Ee][Ff][Ll][Ee][Cc][Tt]|[Ss][Yy][Mm][Bb][Oo][Ll].[Ww][Ee][Ll][Ll][Kk][Nn][Oo][Ww][Nn]|[Ss][Yy][Mm][Bb][Oo][Ll]))?$"},{"pattern":"^[Ee][Ss]2016(\\.[Aa][Rr][Rr][Aa][Yy].[Ii][Nn][Cc][Ll][Uu][Dd][Ee])?$"},{"pattern":"^[Ee][Ss]2017(\\.([Ii][Nn][Tt][Ll]|[Oo][Bb][Jj][Ee][Cc][Tt]|[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Ss][Tt][Rr][Ii][Nn][Gg]|[Tt][Yy][Pp][Ee][Dd][Aa][Rr][Rr][Aa][Yy][Ss]))?$"},{"pattern":"^[Ee][Ss]2018(\\.([Aa][Ss][Yy][Nn][Cc][Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ii][Nn][Tt][Ll]|[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Rr][Ee][Gg][Ee][Xx][Pp]))?$"},{"pattern":"^[Ee][Ss]2019(\\.([Aa][Rr][Rr][Aa][Yy]|[Oo][Bb][Jj][Ee][Cc][Tt]|[Ss][Tt][Rr][Ii][Nn][Gg]|[Ss][Yy][Mm][Bb][Oo][Ll]))?$"},{"pattern":"^[Ee][Ss]2020(\\.([Bb][Ii][Gg][Ii][Nn][Tt]|[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ss][Tt][Rr][Ii][Nn][Gg]|[Ss][Yy][Mm][Bb][Oo][Ll].[Ww][Ee][Ll][Ll][Kk][Nn][Oo][Ww][Nn]))?$"},{"pattern":"^[Ee][Ss][Nn][Ee][Xx][Tt](\\.([Aa][Rr][Rr][Aa][Yy]|[Aa][Ss][Yy][Nn][Cc][Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Bb][Ii][Gg][Ii][Nn][Tt]|[Ii][Nn][Tt][Ll]|[Ss][Yy][Mm][Bb][Oo][Ll]))?$"},{"pattern":"^[Dd][Oo][Mm](\\.[Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee])?$"},{"pattern":"^[Ss][Cc][Rr][Ii][Pp][Tt][Hh][Oo][Ss][Tt]$"},{"pattern":"^[Ww][Ee][Bb][Ww][Oo][Rr][Kk][Ee][Rr](\\.[Ii][Mm][Pp][Oo][Rr][Tt][Ss][Cc][Rr][Ii][Pp][Tt][Ss])?$"}]}},"strictNullChecks":{"type":"boolean","default":false},"maxNodeModuleJsDepth":{"type":"number","default":0},"importHelpers":{"type":"boolean","default":false},"importsNotUsedAsValues":{"default":"remove","enum":["remove","preserve","error"]},"alwaysStrict":{"type":"boolean"},"strict":{"type":"boolean","default":false},"strictBindCallApply":{"type":"boolean","default":false},"downlevelIteration":{"type":"boolean","default":false},"checkJs":{"type":"boolean","default":false},"strictFunctionTypes":{"type":"boolean","default":false},"strictPropertyInitialization":{"type":"boolean","default":false},"esModuleInterop":{"type":"boolean","default":false},"allowUmdGlobalAccess":{"type":"boolean","default":false},"keyofStringsOnly":{"type":"boolean","default":false},"useDefineForClassFields":{"type":"boolean","default":false},"declarationMap":{"type":"boolean","default":false},"resolveJsonModule":{"type":"boolean","default":false},"assumeChangesOnlyAffectDirectDependencies":{"type":"boolean"},"extendedDiagnostics":{"type":"boolean","default":false},"listFilesOnly":{"type":"boolean"},"disableSourceOfProjectReferenceRedirect":{"type":"boolean"},"disableSolutionSearching":{"type":"boolean"}}}}},"typeAcquisitionDefinition":{"properties":{"typeAcquisition":{"type":"object","properties":{"enable":{"type":"boolean","default":false},"include":{"type":"array","uniqueItems":true,"items":{"type":"string"}},"exclude":{"type":"array","uniqueItems":true,"items":{"type":"string"}}}}}},"referencesDefinition":{"properties":{"references":{"type":"array","uniqueItems":true,"items":{"type":"object","properties":{"path":{"type":"string"}}}}}},"tsNodeDefinition":{"properties":{"ts-node":{"properties":{"compiler":{"default":"typescript","type":"string"},"compilerHost":{"default":false,"type":"boolean"},"compilerOptions":{"additionalProperties":true,"allOf":[{"$ref":"#/definitions/compilerOptionsDefinition/properties/compilerOptions"}],"properties":{},"type":"object"},"emit":{"default":false,"type":"boolean"},"files":{"default":false,"type":"boolean"},"ignore":{"default":"/node_modules/","items":{"type":"string"},"type":"array","uniqueItems":true},"ignoreDiagnostics":{"items":{"type":["string","number"]},"type":"array","uniqueItems":true},"logError":{"default":false,"type":"boolean"},"preferTsExts":{"default":false,"type":"boolean"},"pretty":{"default":false,"type":"boolean"},"require":{"items":{"type":"string"},"type":"array","uniqueItems":true},"scope":{"default":false,"type":"boolean"},"skipIgnore":{"default":false,"type":"boolean"},"transpileOnly":{"default":false,"type":"boolean"},"typeCheck":{"default":true,"type":"boolean"}},"type":"object"}}}},"type":"object","allOf":[{"$ref":"#/definitions/compilerOptionsDefinition"},{"$ref":"#/definitions/compileOnSaveDefinition"},{"$ref":"#/definitions/typeAcquisitionDefinition"},{"$ref":"#/definitions/extendsDefinition"},{"$ref":"#/definitions/tsNodeDefinition"},{"anyOf":[{"$ref":"#/definitions/filesDefinition"},{"$ref":"#/definitions/excludeDefinition"},{"$ref":"#/definitions/includeDefinition"},{"$ref":"#/definitions/referencesDefinition"}]}]}