.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / type-fest / source / tsconfig-json.d.ts
1 declare namespace TsConfigJson {
2         namespace CompilerOptions {
3                 export type JSX =
4                         | 'preserve'
5                         | 'react'
6                         | 'react-native';
7
8                 export type Module =
9                         | 'CommonJS'
10                         | 'AMD'
11                         | 'System'
12                         | 'UMD'
13                         | 'ES6'
14                         | 'ES2015'
15                         | 'ESNext'
16                         | 'None'
17                         // Lowercase alternatives
18                         | 'commonjs'
19                         | 'amd'
20                         | 'system'
21                         | 'umd'
22                         | 'es6'
23                         | 'es2015'
24                         | 'esnext'
25                         | 'none';
26
27                 export type NewLine =
28                         | 'CRLF'
29                         | 'LF'
30                         // Lowercase alternatives
31                         | 'crlf'
32                         | 'lf';
33
34                 export type Target =
35                         | 'ES3'
36                         | 'ES5'
37                         | 'ES6'
38                         | 'ES2015'
39                         | 'ES2016'
40                         | 'ES2017'
41                         | 'ES2018'
42                         | 'ES2019'
43                         | 'ES2020'
44                         | 'ESNext'
45                         // Lowercase alternatives
46                         | 'es3'
47                         | 'es5'
48                         | 'es6'
49                         | 'es2015'
50                         | 'es2016'
51                         | 'es2017'
52                         | 'es2018'
53                         | 'es2019'
54                         | 'es2020'
55                         | 'esnext';
56
57                 export type Lib =
58                         | 'ES5'
59                         | 'ES6'
60                         | 'ES7'
61                         | 'ES2015'
62                         | 'ES2015.Collection'
63                         | 'ES2015.Core'
64                         | 'ES2015.Generator'
65                         | 'ES2015.Iterable'
66                         | 'ES2015.Promise'
67                         | 'ES2015.Proxy'
68                         | 'ES2015.Reflect'
69                         | 'ES2015.Symbol.WellKnown'
70                         | 'ES2015.Symbol'
71                         | 'ES2016'
72                         | 'ES2016.Array.Include'
73                         | 'ES2017'
74                         | 'ES2017.Intl'
75                         | 'ES2017.Object'
76                         | 'ES2017.SharedMemory'
77                         | 'ES2017.String'
78                         | 'ES2017.TypedArrays'
79                         | 'ES2018'
80                         | 'ES2018.AsyncIterable'
81                         | 'ES2018.Intl'
82                         | 'ES2018.Promise'
83                         | 'ES2018.Regexp'
84                         | 'ES2019'
85                         | 'ES2019.Array'
86                         | 'ES2019.Object'
87                         | 'ES2019.String'
88                         | 'ES2019.Symbol'
89                         | 'ES2020'
90                         | 'ES2020.String'
91                         | 'ES2020.Symbol.WellKnown'
92                         | 'ESNext'
93                         | 'ESNext.Array'
94                         | 'ESNext.AsyncIterable'
95                         | 'ESNext.BigInt'
96                         | 'ESNext.Intl'
97                         | 'ESNext.Symbol'
98                         | 'DOM'
99                         | 'DOM.Iterable'
100                         | 'ScriptHost'
101                         | 'WebWorker'
102                         | 'WebWorker.ImportScripts'
103                         // Lowercase alternatives
104                         | 'es5'
105                         | 'es6'
106                         | 'es7'
107                         | 'es2015'
108                         | 'es2015.collection'
109                         | 'es2015.core'
110                         | 'es2015.generator'
111                         | 'es2015.iterable'
112                         | 'es2015.promise'
113                         | 'es2015.proxy'
114                         | 'es2015.reflect'
115                         | 'es2015.symbol.wellknown'
116                         | 'es2015.symbol'
117                         | 'es2016'
118                         | 'es2016.array.include'
119                         | 'es2017'
120                         | 'es2017.intl'
121                         | 'es2017.object'
122                         | 'es2017.sharedmemory'
123                         | 'es2017.string'
124                         | 'es2017.typedarrays'
125                         | 'es2018'
126                         | 'es2018.asynciterable'
127                         | 'es2018.intl'
128                         | 'es2018.promise'
129                         | 'es2018.regexp'
130                         | 'es2019'
131                         | 'es2019.array'
132                         | 'es2019.object'
133                         | 'es2019.string'
134                         | 'es2019.symbol'
135                         | 'es2020'
136                         | 'es2020.string'
137                         | 'es2020.symbol.wellknown'
138                         | 'esnext'
139                         | 'esnext.array'
140                         | 'esnext.asynciterable'
141                         | 'esnext.bigint'
142                         | 'esnext.intl'
143                         | 'esnext.symbol'
144                         | 'dom'
145                         | 'dom.iterable'
146                         | 'scripthost'
147                         | 'webworker'
148                         | 'webworker.importscripts';
149
150                 export interface Plugin {
151                         [key: string]: unknown;
152                         /**
153                         Plugin name.
154                         */
155                         name?: string;
156                 }
157         }
158
159         export interface CompilerOptions {
160                 /**
161                 The character set of the input files.
162
163                 @default 'utf8'
164                 */
165                 charset?: string;
166
167                 /**
168                 Enables building for project references.
169
170                 @default true
171                 */
172                 composite?: boolean;
173
174                 /**
175                 Generates corresponding d.ts files.
176
177                 @default false
178                 */
179                 declaration?: boolean;
180
181                 /**
182                 Specify output directory for generated declaration files.
183
184                 Requires TypeScript version 2.0 or later.
185                 */
186                 declarationDir?: string;
187
188                 /**
189                 Show diagnostic information.
190
191                 @default false
192                 */
193                 diagnostics?: boolean;
194
195                 /**
196                 Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.
197
198                 @default false
199                 */
200                 emitBOM?: boolean;
201
202                 /**
203                 Only emit `.d.ts` declaration files.
204
205                 @default false
206                 */
207                 emitDeclarationOnly?: boolean;
208
209                 /**
210                 Enable incremental compilation.
211
212                 @default `composite`
213                 */
214                 incremental?: boolean;
215
216                 /**
217                 Specify file to store incremental compilation information.
218
219                 @default '.tsbuildinfo'
220                 */
221                 tsBuildInfoFile?: string;
222
223                 /**
224                 Emit a single file with source maps instead of having a separate file.
225
226                 @default false
227                 */
228                 inlineSourceMap?: boolean;
229
230                 /**
231                 Emit the source alongside the sourcemaps within a single file.
232
233                 Requires `--inlineSourceMap` to be set.
234
235                 @default false
236                 */
237                 inlineSources?: boolean;
238
239                 /**
240                 Specify JSX code generation: `'preserve'`, `'react'`, or `'react-native'`.
241
242                 @default 'preserve'
243                 */
244                 jsx?: CompilerOptions.JSX;
245
246                 /**
247                 Specifies the object invoked for `createElement` and `__spread` when targeting `'react'` JSX emit.
248
249                 @default 'React'
250                 */
251                 reactNamespace?: string;
252
253                 /**
254                 Print names of files part of the compilation.
255
256                 @default false
257                 */
258                 listFiles?: boolean;
259
260                 /**
261                 Specifies the location where debugger should locate map files instead of generated locations.
262                 */
263                 mapRoot?: string;
264
265                 /**
266                 Specify module code generation: 'None', 'CommonJS', 'AMD', 'System', 'UMD', 'ES6', 'ES2015' or 'ESNext'. Only 'AMD' and 'System' can be used in conjunction with `--outFile`. 'ES6' and 'ES2015' values may be used when targeting 'ES5' or lower.
267
268                 @default ['ES3', 'ES5'].includes(target) ? 'CommonJS' : 'ES6'
269                 */
270                 module?: CompilerOptions.Module;
271
272                 /**
273                 Specifies the end of line sequence to be used when emitting files: 'crlf' (Windows) or 'lf' (Unix).
274
275                 Default: Platform specific
276                 */
277                 newLine?: CompilerOptions.NewLine;
278
279                 /**
280                 Do not emit output.
281
282                 @default false
283                 */
284                 noEmit?: boolean;
285
286                 /**
287                 Do not generate custom helper functions like `__extends` in compiled output.
288
289                 @default false
290                 */
291                 noEmitHelpers?: boolean;
292
293                 /**
294                 Do not emit outputs if any type checking errors were reported.
295
296                 @default false
297                 */
298                 noEmitOnError?: boolean;
299
300                 /**
301                 Warn on expressions and declarations with an implied 'any' type.
302
303                 @default false
304                 */
305                 noImplicitAny?: boolean;
306
307                 /**
308                 Raise error on 'this' expressions with an implied any type.
309
310                 @default false
311                 */
312                 noImplicitThis?: boolean;
313
314                 /**
315                 Report errors on unused locals.
316
317                 Requires TypeScript version 2.0 or later.
318
319                 @default false
320                 */
321                 noUnusedLocals?: boolean;
322
323                 /**
324                 Report errors on unused parameters.
325
326                 Requires TypeScript version 2.0 or later.
327
328                 @default false
329                 */
330                 noUnusedParameters?: boolean;
331
332                 /**
333                 Do not include the default library file (lib.d.ts).
334
335                 @default false
336                 */
337                 noLib?: boolean;
338
339                 /**
340                 Do not add triple-slash references or module import targets to the list of compiled files.
341
342                 @default false
343                 */
344                 noResolve?: boolean;
345
346                 /**
347                 Disable strict checking of generic signatures in function types.
348
349                 @default false
350                 */
351                 noStrictGenericChecks?: boolean;
352
353                 /**
354                 @deprecated use `skipLibCheck` instead.
355                 */
356                 skipDefaultLibCheck?: boolean;
357
358                 /**
359                 Skip type checking of declaration files.
360
361                 Requires TypeScript version 2.0 or later.
362
363                 @default false
364                 */
365                 skipLibCheck?: boolean;
366
367                 /**
368                 Concatenate and emit output to single file.
369                 */
370                 outFile?: string;
371
372                 /**
373                 Redirect output structure to the directory.
374                 */
375                 outDir?: string;
376
377                 /**
378                 Do not erase const enum declarations in generated code.
379
380                 @default false
381                 */
382                 preserveConstEnums?: boolean;
383
384                 /**
385                 Do not resolve symlinks to their real path; treat a symlinked file like a real one.
386
387                 @default false
388                 */
389                 preserveSymlinks?: boolean;
390
391                 /**
392                 Keep outdated console output in watch mode instead of clearing the screen.
393
394                 @default false
395                 */
396                 preserveWatchOutput?: boolean;
397
398                 /**
399                 Stylize errors and messages using color and context (experimental).
400
401                 @default true // Unless piping to another program or redirecting output to a file.
402                 */
403                 pretty?: boolean;
404
405                 /**
406                 Do not emit comments to output.
407
408                 @default false
409                 */
410                 removeComments?: boolean;
411
412                 /**
413                 Specifies the root directory of input files.
414
415                 Use to control the output directory structure with `--outDir`.
416                 */
417                 rootDir?: string;
418
419                 /**
420                 Unconditionally emit imports for unresolved files.
421
422                 @default false
423                 */
424                 isolatedModules?: boolean;
425
426                 /**
427                 Generates corresponding '.map' file.
428
429                 @default false
430                 */
431                 sourceMap?: boolean;
432
433                 /**
434                 Specifies the location where debugger should locate TypeScript files instead of source locations.
435                 */
436                 sourceRoot?: string;
437
438                 /**
439                 Suppress excess property checks for object literals.
440
441                 @default false
442                 */
443                 suppressExcessPropertyErrors?: boolean;
444
445                 /**
446                 Suppress noImplicitAny errors for indexing objects lacking index signatures.
447
448                 @default false
449                 */
450                 suppressImplicitAnyIndexErrors?: boolean;
451
452                 /**
453                 Do not emit declarations for code that has an `@internal` annotation.
454                 */
455                 stripInternal?: boolean;
456
457                 /**
458                 Specify ECMAScript target version.
459
460                 @default 'es3'
461                 */
462                 target?: CompilerOptions.Target;
463
464                 /**
465                 Watch input files.
466
467                 @default false
468                 */
469                 watch?: boolean;
470
471                 /**
472                 Enables experimental support for ES7 decorators.
473
474                 @default false
475                 */
476                 experimentalDecorators?: boolean;
477
478                 /**
479                 Emit design-type metadata for decorated declarations in source.
480
481                 @default false
482                 */
483                 emitDecoratorMetadata?: boolean;
484
485                 /**
486                 Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6).
487
488                 @default ['AMD', 'System', 'ES6'].includes(module) ? 'classic' : 'node'
489                 */
490                 moduleResolution?: 'classic' | 'node';
491
492                 /**
493                 Do not report errors on unused labels.
494
495                 @default false
496                 */
497                 allowUnusedLabels?: boolean;
498
499                 /**
500                 Report error when not all code paths in function return a value.
501
502                 @default false
503                 */
504                 noImplicitReturns?: boolean;
505
506                 /**
507                 Report errors for fallthrough cases in switch statement.
508
509                 @default false
510                 */
511                 noFallthroughCasesInSwitch?: boolean;
512
513                 /**
514                 Do not report errors on unreachable code.
515
516                 @default false
517                 */
518                 allowUnreachableCode?: boolean;
519
520                 /**
521                 Disallow inconsistently-cased references to the same file.
522
523                 @default false
524                 */
525                 forceConsistentCasingInFileNames?: boolean;
526
527                 /**
528                 Base directory to resolve non-relative module names.
529                 */
530                 baseUrl?: string;
531
532                 /**
533                 Specify path mapping to be computed relative to baseUrl option.
534                 */
535                 paths?: Record<string, string[]>;
536
537                 /**
538                 List of TypeScript language server plugins to load.
539
540                 Requires TypeScript version 2.3 or later.
541                 */
542                 plugins?: CompilerOptions.Plugin[];
543
544                 /**
545                 Specify list of root directories to be used when resolving modules.
546                 */
547                 rootDirs?: string[];
548
549                 /**
550                 Specify list of directories for type definition files to be included.
551
552                 Requires TypeScript version 2.0 or later.
553                 */
554                 typeRoots?: string[];
555
556                 /**
557                 Type declaration files to be included in compilation.
558
559                 Requires TypeScript version 2.0 or later.
560                 */
561                 types?: string[];
562
563                 /**
564                 Enable tracing of the name resolution process.
565
566                 @default false
567                 */
568                 traceResolution?: boolean;
569
570                 /**
571                 Allow javascript files to be compiled.
572
573                 @default false
574                 */
575                 allowJs?: boolean;
576
577                 /**
578                 Do not truncate error messages.
579
580                 @default false
581                 */
582                 noErrorTruncation?: boolean;
583
584                 /**
585                 Allow default imports from modules with no default export. This does not affect code emit, just typechecking.
586
587                 @default module === 'system' || esModuleInterop
588                 */
589                 allowSyntheticDefaultImports?: boolean;
590
591                 /**
592                 Do not emit `'use strict'` directives in module output.
593
594                 @default false
595                 */
596                 noImplicitUseStrict?: boolean;
597
598                 /**
599                 Enable to list all emitted files.
600
601                 Requires TypeScript version 2.0 or later.
602
603                 @default false
604                 */
605                 listEmittedFiles?: boolean;
606
607                 /**
608                 Disable size limit for JavaScript project.
609
610                 Requires TypeScript version 2.0 or later.
611
612                 @default false
613                 */
614                 disableSizeLimit?: boolean;
615
616                 /**
617                 List of library files to be included in the compilation.
618
619                 Requires TypeScript version 2.0 or later.
620                 */
621                 lib?: CompilerOptions.Lib[];
622
623                 /**
624                 Enable strict null checks.
625
626                 Requires TypeScript version 2.0 or later.
627
628                 @default false
629                 */
630                 strictNullChecks?: boolean;
631
632                 /**
633                 The maximum dependency depth to search under `node_modules` and load JavaScript files. Only applicable with `--allowJs`.
634
635                 @default 0
636                 */
637                 maxNodeModuleJsDepth?: number;
638
639                 /**
640                 Import emit helpers (e.g. `__extends`, `__rest`, etc..) from tslib.
641
642                 Requires TypeScript version 2.1 or later.
643
644                 @default false
645                 */
646                 importHelpers?: boolean;
647
648                 /**
649                 Specify the JSX factory function to use when targeting React JSX emit, e.g. `React.createElement` or `h`.
650
651                 Requires TypeScript version 2.1 or later.
652
653                 @default 'React.createElement'
654                 */
655                 jsxFactory?: string;
656
657                 /**
658                 Parse in strict mode and emit `'use strict'` for each source file.
659
660                 Requires TypeScript version 2.1 or later.
661
662                 @default false
663                 */
664                 alwaysStrict?: boolean;
665
666                 /**
667                 Enable all strict type checking options.
668
669                 Requires TypeScript version 2.3 or later.
670
671                 @default false
672                 */
673                 strict?: boolean;
674
675                 /**
676                 Enable stricter checking of of the `bind`, `call`, and `apply` methods on functions.
677
678                 @default false
679                 */
680                 strictBindCallApply?: boolean;
681
682                 /**
683                 Provide full support for iterables in `for-of`, spread, and destructuring when targeting `ES5` or `ES3`.
684
685                 Requires TypeScript version 2.3 or later.
686
687                 @default false
688                 */
689                 downlevelIteration?: boolean;
690
691                 /**
692                 Report errors in `.js` files.
693
694                 Requires TypeScript version 2.3 or later.
695
696                 @default false
697                 */
698                 checkJs?: boolean;
699
700                 /**
701                 Disable bivariant parameter checking for function types.
702
703                 Requires TypeScript version 2.6 or later.
704
705                 @default false
706                 */
707                 strictFunctionTypes?: boolean;
708
709                 /**
710                 Ensure non-undefined class properties are initialized in the constructor.
711
712                 Requires TypeScript version 2.7 or later.
713
714                 @default false
715                 */
716                 strictPropertyInitialization?: boolean;
717
718                 /**
719                 Emit `__importStar` and `__importDefault` helpers for runtime Babel ecosystem compatibility and enable `--allowSyntheticDefaultImports` for typesystem compatibility.
720
721                 Requires TypeScript version 2.7 or later.
722
723                 @default false
724                 */
725                 esModuleInterop?: boolean;
726
727                 /**
728                 Allow accessing UMD globals from modules.
729
730                 @default false
731                 */
732                 allowUmdGlobalAccess?: boolean;
733
734                 /**
735                 Resolve `keyof` to string valued property names only (no numbers or symbols).
736
737                 Requires TypeScript version 2.9 or later.
738
739                 @default false
740                 */
741                 keyofStringsOnly?: boolean;
742
743                 /**
744                 Emit ECMAScript standard class fields.
745
746                 Requires TypeScript version 3.7 or later.
747
748                 @default false
749                 */
750                 useDefineForClassFields?: boolean;
751
752                 /**
753                 Generates a sourcemap for each corresponding `.d.ts` file.
754
755                 Requires TypeScript version 2.9 or later.
756
757                 @default false
758                 */
759                 declarationMap?: boolean;
760
761                 /**
762                 Include modules imported with `.json` extension.
763
764                 Requires TypeScript version 2.9 or later.
765
766                 @default false
767                 */
768                 resolveJsonModule?: boolean;
769         }
770
771         /**
772         Auto type (.d.ts) acquisition options for this project.
773
774         Requires TypeScript version 2.1 or later.
775         */
776         export interface TypeAcquisition {
777                 /**
778                 Enable auto type acquisition.
779                 */
780                 enable?: boolean;
781
782                 /**
783                 Specifies a list of type declarations to be included in auto type acquisition. For example, `['jquery', 'lodash']`.
784                 */
785                 include?: string[];
786
787                 /**
788                 Specifies a list of type declarations to be excluded from auto type acquisition. For example, `['jquery', 'lodash']`.
789                 */
790                 exclude?: string[];
791         }
792
793         export interface References {
794                 /**
795                 A normalized path on disk.
796                 */
797                 path: string;
798
799                 /**
800                 The path as the user originally wrote it.
801                 */
802                 originalPath?: string;
803
804                 /**
805                 True if the output of this reference should be prepended to the output of this project.
806
807                 Only valid for `--outFile` compilations.
808                 */
809                 prepend?: boolean;
810
811                 /**
812                 True if it is intended that this reference form a circularity.
813                 */
814                 circular?: boolean;
815         }
816 }
817
818 export interface TsConfigJson {
819         /**
820         Instructs the TypeScript compiler how to compile `.ts` files.
821         */
822         compilerOptions?: TsConfigJson.CompilerOptions;
823
824         /**
825         Auto type (.d.ts) acquisition options for this project.
826
827         Requires TypeScript version 2.1 or later.
828         */
829         typeAcquisition?: TsConfigJson.TypeAcquisition;
830
831         /**
832         Enable Compile-on-Save for this project.
833         */
834         compileOnSave?: boolean;
835
836         /**
837         Path to base configuration file to inherit from.
838
839         Requires TypeScript version 2.1 or later.
840         */
841         extends?: string;
842
843         /**
844         If no `files` or `include` property is present in a `tsconfig.json`, the compiler defaults to including all files in the containing directory and subdirectories except those specified by `exclude`. When a `files` property is specified, only those files and those specified by `include` are included.
845         */
846         files?: string[];
847
848         /**
849         Specifies a list of files to be excluded from compilation. The `exclude` property only affects the files included via the `include` property and not the `files` property.
850
851         Glob patterns require TypeScript version 2.0 or later.
852         */
853         exclude?: string[];
854
855         /**
856         Specifies a list of glob patterns that match files to be included in compilation.
857
858         If no `files` or `include` property is present in a `tsconfig.json`, the compiler defaults to including all files in the containing directory and subdirectories except those specified by `exclude`.
859
860         Requires TypeScript version 2.0 or later.
861         */
862         include?: string[];
863
864         /**
865         Referenced projects.
866
867         Requires TypeScript version 3.0 or later.
868         */
869         references?: TsConfigJson.References[];
870 }