TypeScript(compileOptions-1)

seven2649·2022년 7월 8일
0

TypeScript Essentials

목록 보기
11/24
post-thumbnail

compileOptions

{
  ...,
  "compilerOptionsDefinition":{
    "properties":{
      "compilerOptions":{
        "type":"object",
        "description":"Instructs the TypeScript compiler how to compile .ts files.",
        "properties":{
          "charset":{
            "description":"No longer supported. In early versions, manually set the text encoding for reading files.",
            "type":"string",
            "markdownDescription":"No longer supported. In early versions, manually set the text encoding for reading files.\n\nSee more: https://www.typescriptlang.org/tsconfig#charset"
          },
          "composite":{
            "description":"Enable constraints that allow a TypeScript project to be used with project references.",
            "type":"boolean",
            "default":true,
            "markdownDescription":"Enable constraints that allow a TypeScript project to be used with project references.\n\nSee more: https://www.typescriptlang.org/tsconfig#composite"
          },
          "declaration":{
            "description":"Generate .d.ts files from TypeScript and JavaScript files in your project.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Generate .d.ts files from TypeScript and JavaScript files in your project.\n\nSee more: https://www.typescriptlang.org/tsconfig#declaration"
          },
          "declarationDir":{
            "description":"Specify the output directory for generated declaration files.",
            "type":[
              "string",
              "null"
            ],
            "markdownDescription":"Specify the output directory for generated declaration files.\n\nSee more: https://www.typescriptlang.org/tsconfig#declarationDir"
          },
          "diagnostics":{
            "description":"Output compiler performance information after building.",
            "type":"boolean",
            "markdownDescription":"Output compiler performance information after building.\n\nSee more: https://www.typescriptlang.org/tsconfig#diagnostics"
          },
          "disableReferencedProjectLoad":{
            "description":"Reduce the number of projects loaded automatically by TypeScript.",
            "type":"boolean",
            "markdownDescription":"Reduce the number of projects loaded automatically by TypeScript.\n\nSee more: https://www.typescriptlang.org/tsconfig#disableReferencedProjectLoad"
          },
          "noPropertyAccessFromIndexSignature":{
            "description":"Enforces using indexed accessors for keys declared using an indexed type",
            "type":"boolean",
            "markdownDescription":"Enforces using indexed accessors for keys declared using an indexed type\n\nSee more: https://www.typescriptlang.org/tsconfig#noPropertyAccessFromIndexSignature"
          },
          "emitBOM":{
            "description":"Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.\n\nSee more: https://www.typescriptlang.org/tsconfig#emitBOM"
          },
          "emitDeclarationOnly":{
            "description":"Only output d.ts files and not JavaScript files.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Only output d.ts files and not JavaScript files.\n\nSee more: https://www.typescriptlang.org/tsconfig#emitDeclarationOnly"
          },
          "incremental":{
            "description":"Save .tsbuildinfo files to allow for incremental compilation of projects.",
            "type":"boolean",
            "markdownDescription":"Save .tsbuildinfo files to allow for incremental compilation of projects.\n\nSee more: https://www.typescriptlang.org/tsconfig#incremental"
          },
          "tsBuildInfoFile":{
            "description":"Specify the folder for .tsbuildinfo incremental compilation files.",
            "default":".tsbuildinfo",
            "type":"string",
            "markdownDescription":"Specify the folder for .tsbuildinfo incremental compilation files.\n\nSee more: https://www.typescriptlang.org/tsconfig#tsBuildInfoFile"
          },
          "inlineSourceMap":{
            "description":"Include sourcemap files inside the emitted JavaScript.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Include sourcemap files inside the emitted JavaScript.\n\nSee more: https://www.typescriptlang.org/tsconfig#inlineSourceMap"
          },
          "inlineSources":{
            "description":"Include source code in the sourcemaps inside the emitted JavaScript.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Include source code in the sourcemaps inside the emitted JavaScript.\n\nSee more: https://www.typescriptlang.org/tsconfig#inlineSources"
          },
          "jsx":{
            "description":"Specify what JSX code is generated.",
            "enum":[
              "preserve",
              "react",
              "react-jsx",
              "react-jsxdev",
              "react-native"
            ]
          },
          "reactNamespace":{
            "description":"Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit.",
            "type":"string",
            "default":"React",
            "markdownDescription":"Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit.\n\nSee more: https://www.typescriptlang.org/tsconfig#reactNamespace"
          },
          "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"
          },
          "listFiles":{
            "description":"Print all of the files read during the compilation.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Print all of the files read during the compilation.\n\nSee more: https://www.typescriptlang.org/tsconfig#listFiles"
          },
          "mapRoot":{
            "description":"Specify the location where debugger should locate map files instead of generated locations.",
            "type":"string",
            "markdownDescription":"Specify the location where debugger should locate map files instead of generated locations.\n\nSee more: https://www.typescriptlang.org/tsconfig#mapRoot"
          },
          "module":{
            "description":"Specify what module code is generated.",
            "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])$"
              }
            ],
            "markdownDescription":"Specify what module code is generated.\n\nSee more: https://www.typescriptlang.org/tsconfig#module"
          },
          "moduleResolution":{
            "description":"Specify how TypeScript looks up a file from a given module specifier.",
            "type":"string",
            "anyOf":[
              {
                "enum":[
                  "Classic",
                  "Node"
                ]
              },
              {
                "pattern":"^(([Nn]ode)|([Cc]lassic))$"
              }
            ],
            "default":"classic",
            "markdownDescription":"Specify how TypeScript looks up a file from a given module specifier.\n\nSee more: https://www.typescriptlang.org/tsconfig#moduleResolution"
          },
          "newLine":{
            "description":"Set the newline character for emitting files.",
            "type":"string",
            "anyOf":[
              {
                "enum":[
                  "crlf",
                  "lf"
                ]
              },
              {
                "pattern":"^(CRLF|LF|crlf|lf)$"
              }
            ],
            "markdownDescription":"Set the newline character for emitting files.\n\nSee more: https://www.typescriptlang.org/tsconfig#newLine"
          },
          "noEmit":{
            "description":"Disable emitting file from a compilation.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Disable emitting file from a compilation.\n\nSee more: https://www.typescriptlang.org/tsconfig#noEmit"
          },
          "noEmitHelpers":{
            "description":"Disable generating custom helper functions like `__extends` in compiled output.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Disable generating custom helper functions like `__extends` in compiled output.\n\nSee more: https://www.typescriptlang.org/tsconfig#noEmitHelpers"
          },
          "noEmitOnError":{
            "description":"Disable emitting files if any type checking errors are reported.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Disable emitting files if any type checking errors are reported.\n\nSee more: https://www.typescriptlang.org/tsconfig#noEmitOnError"
          },
          "noImplicitAny":{
            "description":"Enable error reporting for expressions and declarations with an implied `any` type..",
            "type":"boolean",
            "markdownDescription":"Enable error reporting for expressions and declarations with an implied `any` type..\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitAny"
          },
          "noImplicitThis":{
            "description":"Enable error reporting when `this` is given the type `any`.",
            "type":"boolean",
            "markdownDescription":"Enable error reporting when `this` is given the type `any`.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitThis"
          },
          "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"
          },
          "noLib":{
            "description":"Disable including any library files, including the default lib.d.ts.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Disable including any library files, including the default lib.d.ts.\n\nSee more: https://www.typescriptlang.org/tsconfig#noLib"
          },
          "noResolve":{
            "description":"Disallow `import`s, `require`s or `<reference>`s from expanding the number of files TypeScript should add to a project.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Disallow `import`s, `require`s or `<reference>`s from expanding the number of files TypeScript should add to a project.\n\nSee more: https://www.typescriptlang.org/tsconfig#noResolve"
          },
          "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"
          },
          "skipDefaultLibCheck":{
            "description":"Skip type checking .d.ts files that are included with TypeScript.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Skip type checking .d.ts files that are included with TypeScript.\n\nSee more: https://www.typescriptlang.org/tsconfig#skipDefaultLibCheck"
          },
          "skipLibCheck":{
            "description":"Skip type checking all .d.ts files.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Skip type checking all .d.ts files.\n\nSee more: https://www.typescriptlang.org/tsconfig#skipLibCheck"
          },
          "outFile":{
            "description":"Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output.",
            "type":"string",
            "markdownDescription":"Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output.\n\nSee more: https://www.typescriptlang.org/tsconfig#outFile"
          },
          "outDir":{
            "description":"Specify an output folder for all emitted files.",
            "type":"string",
            "markdownDescription":"Specify an output folder for all emitted files.\n\nSee more: https://www.typescriptlang.org/tsconfig#outDir"
          },
          "preserveConstEnums":{
            "description":"Disable erasing `const enum` declarations in generated code.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Disable erasing `const enum` declarations in generated code.\n\nSee more: https://www.typescriptlang.org/tsconfig#preserveConstEnums"
          },
          "preserveSymlinks":{
            "description":"Disable resolving symlinks to their realpath. This correlates to the same flag in node.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Disable resolving symlinks to their realpath. This correlates to the same flag in node.\n\nSee more: https://www.typescriptlang.org/tsconfig#preserveSymlinks"
          },
          "preserveWatchOutput":{
            "description":"Disable wiping the console in watch mode",
            "type":"boolean",
            "markdownDescription":"Disable wiping the console in watch mode\n\nSee more: https://www.typescriptlang.org/tsconfig#preserveWatchOutput"
          },
          "pretty":{
            "description":"Enable color and formatting in output to make compiler errors easier to read",
            "type":"boolean",
            "default":true,
            "markdownDescription":"Enable color and formatting in output to make compiler errors easier to read\n\nSee more: https://www.typescriptlang.org/tsconfig#pretty"
          },
          "removeComments":{
            "description":"Disable emitting comments.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Disable emitting comments.\n\nSee more: https://www.typescriptlang.org/tsconfig#removeComments"
          },
          "rootDir":{
            "description":"Specify the root folder within your source files.",
            "type":"string",
            "markdownDescription":"Specify the root folder within your source files.\n\nSee more: https://www.typescriptlang.org/tsconfig#rootDir"
          },
          "isolatedModules":{
            "description":"Ensure that each file can be safely transpiled without relying on other imports.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Ensure that each file can be safely transpiled without relying on other imports.\n\nSee more: https://www.typescriptlang.org/tsconfig#isolatedModules"
          },
          "sourceMap":{
            "description":"Create source map files for emitted JavaScript files.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Create source map files for emitted JavaScript files.\n\nSee more: https://www.typescriptlang.org/tsconfig#sourceMap"
          },
          "sourceRoot":{
            "description":"Specify the root path for debuggers to find the reference source code.",
            "type":"string",
            "markdownDescription":"Specify the root path for debuggers to find the reference source code.\n\nSee more: https://www.typescriptlang.org/tsconfig#sourceRoot"
          },
          "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"
          },
          "stripInternal":{
            "description":"Disable emitting declarations that have `@internal` in their JSDoc comments.",
            "type":"boolean",
            "markdownDescription":"Disable emitting declarations that have `@internal` in their JSDoc comments.\n\nSee more: https://www.typescriptlang.org/tsconfig#stripInternal"
          },
          "target":{
            "description":"Set the JavaScript language version for emitted JavaScript and include compatible library declarations.",
            "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]))$"
              }
            ],
            "markdownDescription":"Set the JavaScript language version for emitted JavaScript and include compatible library declarations.\n\nSee more: https://www.typescriptlang.org/tsconfig#target"
          },
          "watch":{
            "description":"Watch input files.",
            "type":"boolean"
          },
          "fallbackPolling":{
            "description":"Specify what approach the watcher should use if the system runs out of native file watchers.",
            "enum":[
              "fixedPollingInterval",
              "priorityPollingInterval",
              "dynamicPriorityPolling"
            ]
          },
          "watchDirectory":{
            "description":"Specify how directories are watched on systems that lack recursive file-watching functionality.",
            "enum":[
              "useFsEvents",
              "fixedPollingInterval",
              "dynamicPriorityPolling"
            ],
            "default":"useFsEvents"
          },
          "watchFile":{
            "description":"Specify how the TypeScript watch mode works.",
            "enum":[
              "fixedPollingInterval",
              "priorityPollingInterval",
              "dynamicPriorityPolling",
              "useFsEvents",
              "useFsEventsOnParentDirectory"
            ],
            "default":"useFsEvents"
          },
          "experimentalDecorators":{
            "description":"Enable experimental support for TC39 stage 2 draft decorators.",
            "type":"boolean",
            "markdownDescription":"Enable experimental support for TC39 stage 2 draft decorators.\n\nSee more: https://www.typescriptlang.org/tsconfig#experimentalDecorators"
          },
          "emitDecoratorMetadata":{
            "description":"Emit design-type metadata for decorated declarations in source files.",
            "type":"boolean",
            "markdownDescription":"Emit design-type metadata for decorated declarations in source files.\n\nSee more: https://www.typescriptlang.org/tsconfig#emitDecoratorMetadata"
          },
          "allowUnusedLabels":{
            "description":"Disable error reporting for unused labels.",
            "type":"boolean",
            "markdownDescription":"Disable error reporting for unused labels.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowUnusedLabels"
          },
          "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"
          },
          "noUncheckedIndexedAccess":{
            "description":"Add `undefined` to a type when accessed using an index.",
            "type":"boolean",
            "markdownDescription":"Add `undefined` to a type when accessed using an index.\n\nSee more: https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess"
          },
          "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"
          },
          "allowUnreachableCode":{
            "description":"Disable error reporting for unreachable code.",
            "type":"boolean",
            "markdownDescription":"Disable error reporting for unreachable code.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowUnreachableCode"
          },
          "forceConsistentCasingInFileNames":{
            "description":"Ensure that casing is correct in imports.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Ensure that casing is correct in imports.\n\nSee more: https://www.typescriptlang.org/tsconfig#forceConsistentCasingInFileNames"
          },
          "generateCpuProfile":{
            "description":"Emit a v8 CPU profile of the compiler run for debugging.",
            "type":"string",
            "default":"profile.cpuprofile",
            "markdownDescription":"Emit a v8 CPU profile of the compiler run for debugging.\n\nSee more: https://www.typescriptlang.org/tsconfig#generateCpuProfile"
          },
          "baseUrl":{
            "description":"Specify the base directory to resolve non-relative module names.",
            "type":"string",
            "markdownDescription":"Specify the base directory to resolve non-relative module names.\n\nSee more: https://www.typescriptlang.org/tsconfig#baseUrl"
          },
          "paths":{
            "description":"Specify a set of entries that re-map imports to additional lookup locations.",
            "type":"object",
            "additionalProperties":{
              "type":"array",
              "uniqueItems":true,
              "items":{
                "type":"string",
                "description":"Path mapping to be computed relative to baseUrl option."
              }
            },
            "markdownDescription":"Specify a set of entries that re-map imports to additional lookup locations.\n\nSee more: https://www.typescriptlang.org/tsconfig#paths"
          },
          "plugins":{
            "description":"Specify a list of language service plugins to include.",
            "type":"array",
            "items":{
              "type":"object",
              "properties":{
                "name":{
                  "description":"Plugin name.",
                  "type":"string"
                }
              }
            },
            "markdownDescription":"Specify a list of language service plugins to include.\n\nSee more: https://www.typescriptlang.org/tsconfig#plugins"
          },
          "rootDirs":{
            "description":"Allow multiple folders to be treated as one when resolving modules.",
            "type":"array",
            "uniqueItems":true,
            "items":{
              "type":"string"
            },
            "markdownDescription":"Allow multiple folders to be treated as one when resolving modules.\n\nSee more: https://www.typescriptlang.org/tsconfig#rootDirs"
          },
          "typeRoots":{
            "description":"Specify multiple folders that act like `./node_modules/@types`.",
            "type":"array",
            "uniqueItems":true,
            "items":{
              "type":"string"
            },
            "markdownDescription":"Specify multiple folders that act like `./node_modules/@types`.\n\nSee more: https://www.typescriptlang.org/tsconfig#typeRoots"
          },
          "types":{
            "description":"Specify type package names to be included without being referenced in a source file.",
            "type":"array",
            "uniqueItems":true,
            "items":{
              "type":"string"
            },
            "markdownDescription":"Specify type package names to be included without being referenced in a source file.\n\nSee more: https://www.typescriptlang.org/tsconfig#types"
          },
          "traceResolution":{
            "description":"Log paths used during the `moduleResolution` process.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Log paths used during the `moduleResolution` process.\n\nSee more: https://www.typescriptlang.org/tsconfig#traceResolution"
          },
          "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":false,
            "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"
          },
          "noErrorTruncation":{
            "description":"Disable truncating types in error messages.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Disable truncating types in error messages.\n\nSee more: https://www.typescriptlang.org/tsconfig#noErrorTruncation"
          },
          "allowSyntheticDefaultImports":{
            "description":"Allow 'import x from y' when a module doesn't have a default export.",
            "type":"boolean",
            "markdownDescription":"Allow 'import x from y' when a module doesn't have a default export.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowSyntheticDefaultImports"
          },
          "noImplicitUseStrict":{
            "description":"Disable adding 'use strict' directives in emitted JavaScript files.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Disable adding 'use strict' directives in emitted JavaScript files.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitUseStrict"
          },
          "listEmittedFiles":{
            "description":"Print the names of emitted files after a compilation.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Print the names of emitted files after a compilation.\n\nSee more: https://www.typescriptlang.org/tsconfig#listEmittedFiles"
          },
          "disableSizeLimit":{
            "description":"Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server.\n\nSee more: https://www.typescriptlang.org/tsconfig#disableSizeLimit"
          },
          "lib":{
            "description":"Specify a set of bundled library declaration files that describe the target runtime environment.",
            "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])?$"
                }
              ]
            },
            "markdownDescription":"Specify a set of bundled library declaration files that describe the target runtime environment.\n\nSee more: https://www.typescriptlang.org/tsconfig#lib"
          },
          "strictNullChecks":{
            "description":"When type checking, take into account `null` and `undefined`.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"When type checking, take into account `null` and `undefined`.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictNullChecks"
          },
          "maxNodeModuleJsDepth":{
            "description":"Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`.",
            "type":"number",
            "default":0,
            "markdownDescription":"Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`.\n\nSee more: https://www.typescriptlang.org/tsconfig#maxNodeModuleJsDepth"
          },
          "importHelpers":{
            "description":"Allow importing helper functions from tslib once per project, instead of including them per-file.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Allow importing helper functions from tslib once per project, instead of including them per-file.\n\nSee more: https://www.typescriptlang.org/tsconfig#importHelpers"
          },
          "importsNotUsedAsValues":{
            "description":"Specify emit/checking behavior for imports that are only used for types.",
            "default":"remove",
            "enum":[
              "remove",
              "preserve",
              "error"
            ]
          },
          "alwaysStrict":{
            "description":"Ensure 'use strict' is always emitted.",
            "type":"boolean",
            "markdownDescription":"Ensure 'use strict' is always emitted.\n\nSee more: https://www.typescriptlang.org/tsconfig#alwaysStrict"
          },
          "strict":{
            "description":"Enable all strict type checking options.",
            "type":"boolean",
            "default":false,
            "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":false,
            "markdownDescription":"Check that the arguments for `bind`, `call`, and `apply` methods match the original function.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictBindCallApply"
          },
          "downlevelIteration":{
            "description":"Emit more compliant, but verbose and less performant JavaScript for iteration.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Emit more compliant, but verbose and less performant JavaScript for iteration.\n\nSee more: https://www.typescriptlang.org/tsconfig#downlevelIteration"
          },
          "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"
          },
          "strictFunctionTypes":{
            "description":"When assigning functions, check to ensure parameters and the return values are subtype-compatible.",
            "type":"boolean",
            "default":false,
            "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":false,
            "markdownDescription":"Check for class properties that are declared but not set in the constructor.\n\nSee more: https://www.typescriptlang.org/tsconfig#strictPropertyInitialization"
          },
          "esModuleInterop":{
            "description":"Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility.\n\nSee more: https://www.typescriptlang.org/tsconfig#esModuleInterop"
          },
          "allowUmdGlobalAccess":{
            "description":"Allow accessing UMD globals from modules.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Allow accessing UMD globals from modules.\n\nSee more: https://www.typescriptlang.org/tsconfig#allowUmdGlobalAccess"
          },
          "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"
          },
          "useDefineForClassFields":{
            "description":"Emit ECMAScript-standard-compliant class fields.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Emit ECMAScript-standard-compliant class fields.\n\nSee more: https://www.typescriptlang.org/tsconfig#useDefineForClassFields"
          },
          "declarationMap":{
            "description":"Create sourcemaps for d.ts files.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Create sourcemaps for d.ts files.\n\nSee more: https://www.typescriptlang.org/tsconfig#declarationMap"
          },
          "resolveJsonModule":{
            "description":"Enable importing .json files",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Enable importing .json files\n\nSee more: https://www.typescriptlang.org/tsconfig#resolveJsonModule"
          },
          "assumeChangesOnlyAffectDirectDependencies":{
            "description":"Have recompiles in projects that use `incremental` and `watch` mode assume that changes within a file will only affect files directly depending on it.",
            "type":"boolean",
            "markdownDescription":"Have recompiles in projects that use `incremental` and `watch` mode assume that changes within a file will only affect files directly depending on it.\n\nSee more: https://www.typescriptlang.org/tsconfig#assumeChangesOnlyAffectDirectDependencies"
          },
          "extendedDiagnostics":{
            "description":"Output more detailed compiler performance information after building.",
            "type":"boolean",
            "default":false,
            "markdownDescription":"Output more detailed compiler performance information after building.\n\nSee more: https://www.typescriptlang.org/tsconfig#extendedDiagnostics"
          },
          "listFilesOnly":{
            "description":"Print names of files that are part of the compilation and then stop processing.",
            "type":"boolean"
          },
          "disableSourceOfProjectReferenceRedirect":{
            "description":"Disable preferring source files instead of declaration files when referencing composite projects",
            "type":"boolean",
            "markdownDescription":"Disable preferring source files instead of declaration files when referencing composite projects\n\nSee more: https://www.typescriptlang.org/tsconfig#disableSourceOfProjectReferenceRedirect"
          },
          "disableSolutionSearching":{
            "description":"Opt a project out of multi-project reference checking when editing.",
            "type":"boolean",
            "markdownDescription":"Opt a project out of multi-project reference checking when editing.\n\nSee more: https://www.typescriptlang.org/tsconfig#disableSolutionSearching"
          }
        }
      }
    }
  },
  ...,
}

compileOptions : type

{
  ...,
  "typeRoots": {
    "description": "Specify multiple folders that act like `./node_modules/@types`.",
    "type": "array",
    "uniqueItems": true,
    "items": {
      "type": "string"
    },
    "markdownDescription": "Specify multiple folders that act like `./node_modules/@types`.\n\nSee more: https://www.typescriptlang.org/tsconfig#typeRoots"
  },
  "types": {
    "description": "Specify type package names to be included without being referenced in a source file.",
    "type": "array",
    "uniqueItems": true,
    "items": {
      "type": "string"
    },
    "markdownDescription": "Specify type package names to be included without being referenced in a source file.\n\nSee more: https://www.typescriptlang.org/tsconfig#types"
  },
  ...,
}

@types

  • TypeScript 2.0 부터 사용 가능해진 내장 type definition 시스템
  • 아무 설정을 안하면 ?
    • node_modules/@types 라는 모든 경로를 찾아서 사용
  • typeRoots 를 사용하면 ?
    • 배열 안에 들어있는 경로들 아래서만 가져옵니다.
  • types 를 사용하면 ?
    • 배열 안의 모듈 혹은 ./node_modules/@types/ 안의 모듈 이름에서 찾아옵니다.
    • [] 빈 배열을 넣는다는건 이 시스템을 이용하지 않겠다는 것입니다.
  • typeRoots 와 types 를 같이 사용하지 않습니다.
profile
웹디자이너, 퍼블리셔 3년차 + 프론트엔드 신입

0개의 댓글