@aryaemami59/tsconfig 0.0.5 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1637 @@
1
+ import type { StringLiteralUnion } from './typeHelpers.ts'
2
+
3
+ export type BuildOptions = {
4
+ /**
5
+ * Have recompiles in projects that use
6
+ * {@linkcode BuildOptions.incremental | incremental} and `watch` mode assume
7
+ * that changes within a file will only affect files directly depending on it.
8
+ *
9
+ * @default false
10
+ */
11
+ assumeChangesOnlyAffectDirectDependencies?: boolean
12
+
13
+ /**
14
+ * Show what would be built (or deleted, if specified with `--clean`).
15
+ *
16
+ * @default false
17
+ */
18
+ dry?: boolean
19
+
20
+ /**
21
+ * Build all projects, including those that appear to be up to date.
22
+ *
23
+ * @default false
24
+ */
25
+ force?: boolean
26
+
27
+ /**
28
+ * Save `.tsbuildinfo` files to allow for incremental compilation of projects.
29
+ *
30
+ * @default false
31
+ */
32
+ incremental?: boolean
33
+
34
+ /**
35
+ * Log paths used during the `moduleResolution` process.
36
+ *
37
+ * @default false
38
+ */
39
+ traceResolution?: boolean
40
+
41
+ /**
42
+ * Enable verbose logging.
43
+ *
44
+ * @default false
45
+ */
46
+ verbose?: boolean
47
+ }
48
+
49
+ export type JSX =
50
+ | 'preserve'
51
+ | 'react-jsx'
52
+ | 'react-jsxdev'
53
+ | 'react-native'
54
+ | 'react'
55
+
56
+ export type Module =
57
+ | 'AMD'
58
+ | 'CommonJS'
59
+ | 'ES2015'
60
+ | 'ES2020'
61
+ | 'ES2022'
62
+ | 'ES6'
63
+ | 'ESNext'
64
+ | 'Node16'
65
+ | 'Node18'
66
+ | 'Node20'
67
+ | 'NodeNext'
68
+ | 'None'
69
+ | 'Preserve'
70
+ | 'System'
71
+ | 'UMD'
72
+ // Lowercase alternatives
73
+ | 'amd'
74
+ | 'commonjs'
75
+ | 'es2015'
76
+ | 'es2020'
77
+ | 'es2022'
78
+ | 'es6'
79
+ | 'esnext'
80
+ | 'node16'
81
+ | 'node18'
82
+ | 'node20'
83
+ | 'nodenext'
84
+ | 'none'
85
+ | 'preserve'
86
+ | 'system'
87
+ | 'umd'
88
+
89
+ export type NewLine =
90
+ | 'CRLF'
91
+ | 'LF'
92
+ // Lowercase alternatives
93
+ | 'crlf'
94
+ | 'lf'
95
+
96
+ export type Target =
97
+ | 'ES2015'
98
+ | 'ES2016'
99
+ | 'ES2017'
100
+ | 'ES2018'
101
+ | 'ES2019'
102
+ | 'ES2020'
103
+ | 'ES2021'
104
+ | 'ES2022'
105
+ | 'ES2023'
106
+ | 'ES2024'
107
+ | 'ES3'
108
+ | 'ES5'
109
+ | 'ES6'
110
+ | 'ESNext'
111
+ // Lowercase alternatives
112
+ | 'es2015'
113
+ | 'es2016'
114
+ | 'es2017'
115
+ | 'es2018'
116
+ | 'es2019'
117
+ | 'es2020'
118
+ | 'es2021'
119
+ | 'es2022'
120
+ | 'es2023'
121
+ | 'es2024'
122
+ | 'es3'
123
+ | 'es5'
124
+ | 'es6'
125
+ | 'esnext'
126
+
127
+ export type Lib =
128
+ | 'Decorators.Legacy'
129
+ | 'Decorators'
130
+ | 'DOM.AsyncIterable'
131
+ | 'DOM.Iterable'
132
+ | 'DOM'
133
+ | 'ES2015.Collection'
134
+ | 'ES2015.Core'
135
+ | 'ES2015.Generator'
136
+ | 'ES2015.Iterable'
137
+ | 'ES2015.Promise'
138
+ | 'ES2015.Proxy'
139
+ | 'ES2015.Reflect'
140
+ | 'ES2015.Symbol.WellKnown'
141
+ | 'ES2015.Symbol'
142
+ | 'ES2015'
143
+ | 'ES2016.Array.Include'
144
+ | 'ES2016'
145
+ | 'ES2017.ArrayBuffer'
146
+ | 'ES2017.Date'
147
+ | 'ES2017.Intl'
148
+ | 'ES2017.Object'
149
+ | 'ES2017.SharedMemory'
150
+ | 'ES2017.String'
151
+ | 'ES2017.TypedArrays'
152
+ | 'ES2017'
153
+ | 'ES2018.AsyncGenerator'
154
+ | 'ES2018.AsyncIterable'
155
+ | 'ES2018.Intl'
156
+ | 'ES2018.Promise'
157
+ | 'ES2018.Regexp'
158
+ | 'ES2018'
159
+ | 'ES2019.Array'
160
+ | 'ES2019.Intl'
161
+ | 'ES2019.Object'
162
+ | 'ES2019.String'
163
+ | 'ES2019.Symbol'
164
+ | 'ES2019'
165
+ | 'ES2020.BigInt'
166
+ | 'ES2020.Date'
167
+ | 'ES2020.Intl'
168
+ | 'ES2020.Number'
169
+ | 'ES2020.Promise'
170
+ | 'ES2020.SharedMemory'
171
+ | 'ES2020.String'
172
+ | 'ES2020.Symbol.WellKnown'
173
+ | 'ES2020'
174
+ | 'ES2021.Intl'
175
+ | 'ES2021.Promise'
176
+ | 'ES2021.String'
177
+ | 'ES2021.WeakRef'
178
+ | 'ES2021'
179
+ | 'ES2022.Array'
180
+ | 'ES2022.Error'
181
+ | 'ES2022.Intl'
182
+ | 'ES2022.Object'
183
+ | 'ES2022.RegExp'
184
+ | 'ES2022.SharedMemory'
185
+ | 'ES2022.String'
186
+ | 'ES2022'
187
+ | 'ES2023.Array'
188
+ | 'ES2023.Collection'
189
+ | 'ES2023.Intl'
190
+ | 'ES2023'
191
+ | 'ES2024.ArrayBuffer'
192
+ | 'ES2024.Collection'
193
+ | 'ES2024.Object'
194
+ | 'ES2024.Promise'
195
+ | 'ES2024.Regexp'
196
+ | 'ES2024.SharedMemory'
197
+ | 'ES2024.String'
198
+ | 'ES2024'
199
+ | 'ES5'
200
+ | 'ES6'
201
+ | 'ES7'
202
+ | 'ESNext.Array'
203
+ | 'ESNext.AsyncIterable'
204
+ | 'ESNext.BigInt'
205
+ | 'ESNext.Collection'
206
+ | 'ESNext.Decorators'
207
+ | 'ESNext.Disposable'
208
+ | 'ESNext.Error'
209
+ | 'ESNext.Intl'
210
+ | 'ESNext.Iterator'
211
+ | 'ESNext.Object'
212
+ | 'ESNext.Promise'
213
+ | 'ESNext.Regexp'
214
+ | 'ESNext.String'
215
+ | 'ESNext.Symbol'
216
+ | 'ESNext.WeakRef'
217
+ | 'ESNext'
218
+ | 'ScriptHost'
219
+ | 'WebWorker.AsyncIterable'
220
+ | 'WebWorker.ImportScripts'
221
+ | 'WebWorker.Iterable'
222
+ | 'WebWorker'
223
+ // Lowercase alternatives
224
+ | 'decorators.legacy'
225
+ | 'decorators'
226
+ | 'dom.asynciterable'
227
+ | 'dom.iterable'
228
+ | 'dom'
229
+ | 'es2015.collection'
230
+ | 'es2015.core'
231
+ | 'es2015.generator'
232
+ | 'es2015.iterable'
233
+ | 'es2015.promise'
234
+ | 'es2015.proxy'
235
+ | 'es2015.reflect'
236
+ | 'es2015.symbol.wellknown'
237
+ | 'es2015.symbol'
238
+ | 'es2015'
239
+ | 'es2016.array.include'
240
+ | 'es2016'
241
+ | 'es2017.arraybuffer'
242
+ | 'es2017.date'
243
+ | 'es2017.intl'
244
+ | 'es2017.object'
245
+ | 'es2017.sharedmemory'
246
+ | 'es2017.string'
247
+ | 'es2017.typedarrays'
248
+ | 'es2017'
249
+ | 'es2018.asyncgenerator'
250
+ | 'es2018.asynciterable'
251
+ | 'es2018.intl'
252
+ | 'es2018.promise'
253
+ | 'es2018.regexp'
254
+ | 'es2018'
255
+ | 'es2019.array'
256
+ | 'es2019.intl'
257
+ | 'es2019.object'
258
+ | 'es2019.string'
259
+ | 'es2019.symbol'
260
+ | 'es2019'
261
+ | 'es2020.bigint'
262
+ | 'es2020.date'
263
+ | 'es2020.intl'
264
+ | 'es2020.number'
265
+ | 'es2020.promise'
266
+ | 'es2020.sharedmemory'
267
+ | 'es2020.string'
268
+ | 'es2020.symbol.wellknown'
269
+ | 'es2020'
270
+ | 'es2021.intl'
271
+ | 'es2021.promise'
272
+ | 'es2021.string'
273
+ | 'es2021.weakref'
274
+ | 'es2021'
275
+ | 'es2022.array'
276
+ | 'es2022.error'
277
+ | 'es2022.intl'
278
+ | 'es2022.object'
279
+ | 'es2022.regexp'
280
+ | 'es2022.sharedmemory'
281
+ | 'es2022.string'
282
+ | 'es2022'
283
+ | 'es2023.array'
284
+ | 'es2023.collection'
285
+ | 'es2023.intl'
286
+ | 'es2023'
287
+ | 'es2024.arraybuffer'
288
+ | 'es2024.collection'
289
+ | 'es2024.object'
290
+ | 'es2024.promise'
291
+ | 'es2024.regexp'
292
+ | 'es2024.sharedmemory'
293
+ | 'es2024.string'
294
+ | 'es2024'
295
+ | 'es5'
296
+ | 'es6'
297
+ | 'es7'
298
+ | 'esnext.array'
299
+ | 'esnext.asynciterable'
300
+ | 'esnext.bigint'
301
+ | 'esnext.collection'
302
+ | 'esnext.decorators'
303
+ | 'esnext.disposable'
304
+ | 'esnext.error'
305
+ | 'esnext.intl'
306
+ | 'esnext.iterator'
307
+ | 'esnext.object'
308
+ | 'esnext.promise'
309
+ | 'esnext.regexp'
310
+ | 'esnext.string'
311
+ | 'esnext.symbol'
312
+ | 'esnext.weakref'
313
+ | 'esnext'
314
+ | 'scripthost'
315
+ | 'webworker.asynciterable'
316
+ | 'webworker.importscripts'
317
+ | 'webworker.iterable'
318
+ | 'webworker'
319
+
320
+ export type Plugin = {
321
+ /**
322
+ * Plugin name.
323
+ */
324
+ name: string
325
+ }
326
+
327
+ export type ImportsNotUsedAsValues = 'error' | 'preserve' | 'remove'
328
+
329
+ export type FallbackPolling =
330
+ | 'dynamicPriority'
331
+ | 'dynamicPriorityPolling'
332
+ | 'fixedChunkSize'
333
+ | 'fixedInterval'
334
+ | 'fixedPollingInterval'
335
+ | 'priorityInterval'
336
+ | 'priorityPollingInterval'
337
+
338
+ export type WatchDirectory =
339
+ | 'dynamicPriorityPolling'
340
+ | 'fixedChunkSizePolling'
341
+ | 'fixedPollingInterval'
342
+ | 'useFsEvents'
343
+
344
+ export type WatchFile =
345
+ | 'dynamicPriorityPolling'
346
+ | 'fixedChunkSizePolling'
347
+ | 'fixedPollingInterval'
348
+ | 'priorityPollingInterval'
349
+ | 'useFsEvents'
350
+ | 'useFsEventsOnParentDirectory'
351
+
352
+ export type ModuleResolution =
353
+ | 'bundler'
354
+ | 'classic'
355
+ /**
356
+ * @deprecated since v5.0.0 - Use `'node10'` instead.
357
+ */
358
+ | 'node'
359
+ | 'node10'
360
+ | 'node16'
361
+ | 'nodenext'
362
+ // Pascal-cased alternatives
363
+ | 'Bundler'
364
+ | 'Classic'
365
+ /**
366
+ * @deprecated since v5.0.0 - Use `'node10'` instead.
367
+ */
368
+ | 'Node'
369
+ | 'Node10'
370
+ | 'Node16'
371
+ | 'NodeNext'
372
+
373
+ export type ModuleDetection = 'auto' | 'force' | 'legacy'
374
+
375
+ export type IgnoreDeprecations =
376
+ /**
377
+ * @since v5.5.0
378
+ */
379
+ | '5.0'
380
+ /**
381
+ * @since v6.0.0
382
+ */
383
+ | '6.0'
384
+
385
+ export type CompilerOptions = {
386
+ /**
387
+ * Suppress errors for file formats that TypeScript does not understand.
388
+ *
389
+ * @since v5.0.0
390
+ * @default false
391
+ */
392
+ allowArbitraryExtensions?: boolean
393
+
394
+ /**
395
+ * Allows TypeScript files to import each other with a
396
+ * TypeScript-specific extension like `.ts`, `.mts`, or `.tsx`.
397
+ *
398
+ * @since v5.0.0
399
+ * @default false
400
+ */
401
+ allowImportingTsExtensions?: boolean
402
+
403
+ /**
404
+ * Allow JavaScript files to be compiled.
405
+ *
406
+ * @since v1.8.0
407
+ * @default false
408
+ */
409
+ allowJs?: boolean
410
+
411
+ /**
412
+ * Allow `default` imports from modules with no `default` export. This does
413
+ * not affect code emit, just typechecking.
414
+ *
415
+ * @since v1.8.0
416
+ * @default module === "system" || esModuleInterop
417
+ */
418
+ allowSyntheticDefaultImports?: boolean
419
+
420
+ /**
421
+ * Allow accessing UMD globals from modules.
422
+ *
423
+ * @since v3.5.0
424
+ * @default false
425
+ */
426
+ allowUmdGlobalAccess?: boolean
427
+
428
+ /**
429
+ * Do not report errors on unreachable code.
430
+ *
431
+ * @since v1.8.0
432
+ * @default false
433
+ */
434
+ allowUnreachableCode?: boolean
435
+
436
+ /**
437
+ * Do not report errors on unused labels.
438
+ *
439
+ * @since v1.8.0
440
+ * @default false
441
+ */
442
+ allowUnusedLabels?: boolean
443
+
444
+ /**
445
+ * Parse in strict mode and emit `"use strict"` for each source file.
446
+ *
447
+ * @since v2.1.0
448
+ * @default false
449
+ */
450
+ alwaysStrict?: boolean
451
+
452
+ /**
453
+ * Have recompiles in `--incremental` and `--watch` assume that changes
454
+ * within a file will only affect files directly depending on it.
455
+ *
456
+ * @since v3.8.0
457
+ * @default false
458
+ */
459
+ assumeChangesOnlyAffectDirectDependencies?: boolean
460
+
461
+ /**
462
+ * Base directory to resolve non-relative module names.
463
+ *
464
+ * @since v2.0.0
465
+ */
466
+ baseUrl?: string
467
+
468
+ /**
469
+ * The character set of the input files.
470
+ *
471
+ * @default "utf8"
472
+ * @since v1.0.0
473
+ * @deprecated This option will be removed in TypeScript 5.5.
474
+ */
475
+ charset?: string
476
+
477
+ /**
478
+ * Report errors in `.js` files.
479
+ *
480
+ * @since v2.3.0
481
+ * @default false
482
+ */
483
+ checkJs?: boolean
484
+
485
+ /**
486
+ * Enables building for project references.
487
+ *
488
+ * @since v3.0.0
489
+ * @default true
490
+ */
491
+ composite?: boolean
492
+
493
+ /**
494
+ * List of additional conditions that should succeed when TypeScript
495
+ * resolves from `package.json`.
496
+ *
497
+ * @since v5.0.0
498
+ */
499
+ customConditions?: string[]
500
+
501
+ /**
502
+ * Generates corresponding `d.ts` files.
503
+ *
504
+ * @since v1.0.0
505
+ * @default false
506
+ */
507
+ declaration?: boolean
508
+
509
+ /**
510
+ * Specify output directory for generated declaration files.
511
+ *
512
+ * @since v2.0.0
513
+ */
514
+ declarationDir?: string
515
+
516
+ /**
517
+ * Generates a sourcemap for each corresponding `.d.ts` file.
518
+ *
519
+ * @since v2.3.0
520
+ * @default false
521
+ */
522
+ declarationMap?: boolean
523
+
524
+ /**
525
+ * Show diagnostic information.
526
+ *
527
+ * @since v1.0.0
528
+ * @default false
529
+ */
530
+ diagnostics?: boolean
531
+
532
+ /**
533
+ * Reduce the number of projects loaded automatically by TypeScript.
534
+ *
535
+ * @since v4.0.0
536
+ * @default false
537
+ */
538
+ disableReferencedProjectLoad?: boolean
539
+
540
+ /**
541
+ * Disable size limit for JavaScript project.
542
+ *
543
+ * @since v2.0.0
544
+ * @default false
545
+ */
546
+ disableSizeLimit?: boolean
547
+
548
+ /**
549
+ * Opt a project out of multi-project reference checking when editing.
550
+ *
551
+ * @since v3.8.0
552
+ * @default false
553
+ */
554
+ disableSolutionSearching?: boolean
555
+
556
+ /**
557
+ * Disable preferring source files instead of declaration files when
558
+ * referencing composite projects.
559
+ *
560
+ * @since v3.7.0
561
+ * @default true if composite, false otherwise
562
+ */
563
+ disableSourceOfProjectReferenceRedirect?: boolean
564
+
565
+ /**
566
+ * Provide full support for iterables in `for-of`, spread, and
567
+ * destructuring when targeting `ES5` or `ES3`.
568
+ *
569
+ * @since v2.3.0
570
+ * @default false
571
+ */
572
+ downlevelIteration?: boolean
573
+
574
+ /**
575
+ * Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.
576
+ *
577
+ * @since v1.0.0
578
+ * @default false
579
+ */
580
+ emitBOM?: boolean
581
+
582
+ /**
583
+ * Only emit `.d.ts` declaration files.
584
+ *
585
+ * @since v2.8.0
586
+ * @default false
587
+ */
588
+ emitDeclarationOnly?: boolean
589
+
590
+ /**
591
+ * Emit design-export type metadata for decorated declarations in source.
592
+ *
593
+ * @since v1.5.0
594
+ * @default false
595
+ */
596
+ emitDecoratorMetadata?: boolean
597
+
598
+ /**
599
+ * Do not allow runtime constructs that are not part of ECMAScript.
600
+ *
601
+ * @since v5.8.0
602
+ * @default false
603
+ */
604
+ erasableSyntaxOnly?: boolean
605
+
606
+ /**
607
+ * Emit `__importStar` and `__importDefault` helpers for runtime Babel
608
+ * ecosystem compatibility and enable `--allowSyntheticDefaultImports` for
609
+ * typesystem compatibility.
610
+ *
611
+ * @since v2.7.0
612
+ * @default false
613
+ */
614
+ esModuleInterop?: boolean
615
+
616
+ /**
617
+ * Differentiate between `undefined` and not present when export type
618
+ * checking.
619
+ *
620
+ * @since v4.4.0
621
+ * @default false
622
+ */
623
+ exactOptionalPropertyTypes?: boolean
624
+
625
+ /**
626
+ * Enables experimental support for ES7 decorators.
627
+ *
628
+ * @since v1.5.0
629
+ * @default false
630
+ */
631
+ experimentalDecorators?: boolean
632
+
633
+ /**
634
+ * Print names of files which TypeScript sees as a part of your project and
635
+ * the reason they are part of the compilation.
636
+ *
637
+ * @since v4.2.0
638
+ * @default false
639
+ */
640
+ explainFiles?: boolean
641
+
642
+ /**
643
+ * Output more detailed compiler performance information after building.
644
+ *
645
+ * @since v2.0.0
646
+ * @default false
647
+ */
648
+ extendedDiagnostics?: boolean
649
+
650
+ /**
651
+ * Specify the polling strategy to use when the system runs out of or doesn't
652
+ * support native file watchers.
653
+ *
654
+ * @since v3.8.0
655
+ * @deprecated Use {@linkcode WatchOptions.fallbackPolling | watchOptions.fallbackPolling} instead.
656
+ */
657
+ fallbackPolling?: FallbackPolling
658
+
659
+ /**
660
+ * Disallow inconsistently-cased references to the same file.
661
+ *
662
+ * @since v1.8.0
663
+ * @default true
664
+ */
665
+ forceConsistentCasingInFileNames?: boolean
666
+
667
+ /**
668
+ * Emit a v8 CPU profile of the compiler run for debugging.
669
+ *
670
+ * @since v3.7.0
671
+ * @default "profile.cpuprofile"
672
+ */
673
+ generateCpuProfile?: StringLiteralUnion<'profile.cpuprofile'>
674
+
675
+ /**
676
+ * Generates an event trace and a list of types.
677
+ *
678
+ * @since v4.1.0
679
+ */
680
+ generateTrace?: boolean
681
+
682
+ /**
683
+ * Suppress deprecation warnings
684
+ *
685
+ * @since v5.5.0
686
+ */
687
+ ignoreDeprecations?: IgnoreDeprecations
688
+
689
+ /**
690
+ * Import emit helpers (e.g. `__extends`, `__rest`, etc..) from `tslib`.
691
+ *
692
+ * @since v2.1.0
693
+ * @default false
694
+ */
695
+ importHelpers?: boolean
696
+
697
+ /**
698
+ * Specify emit/checking behavior for imports that are only used for types.
699
+ * This flag controls how `import` works, there are 3 different options:
700
+ * - **`"remove"`**: The default behavior of dropping `import` statements which only reference types.
701
+ * - **`"preserve"`**: Preserves all `import` statements whose values or types are never used. This can cause imports/side-effects to be preserved.
702
+ * - **`"error"`**: This preserves all imports (the same as the preserve option), but will error when a value import is only used as a type. This might be useful if you want to ensure no values are being accidentally imported, but still make side-effect imports explicit.
703
+ *
704
+ * This flag works because you can use `import type` to explicitly create an
705
+ * `import` statement which should never be emitted into JavaScript.
706
+ *
707
+ * @since v3.8.0
708
+ * @default "remove"
709
+ * @deprecated Use {@linkcode CompilerOptions.verbatimModuleSyntax | verbatimModuleSyntax} instead.
710
+ * @see {@link https://www.typescriptlang.org/tsconfig#importsNotUsedAsValues | **TSConfig Reference**}
711
+ */
712
+ importsNotUsedAsValues?: ImportsNotUsedAsValues
713
+
714
+ /**
715
+ * Enable incremental compilation.
716
+ *
717
+ * @since v3.4.0
718
+ * @default composite === true
719
+ */
720
+ incremental?: boolean
721
+
722
+ /**
723
+ * Emit a single file with source maps instead of having a separate file.
724
+ *
725
+ * @since v1.5.0
726
+ * @default false
727
+ */
728
+ inlineSourceMap?: boolean
729
+
730
+ /**
731
+ * Emit the source alongside the sourcemaps within a single file. Requires
732
+ * `--inlineSourceMap` to be set.
733
+ *
734
+ * @since v1.5.0
735
+ * @default false
736
+ */
737
+ inlineSources?: boolean
738
+
739
+ /**
740
+ * Require sufficient annotation on exports so other tools can trivially
741
+ * generate declaration files.
742
+ *
743
+ * @since v5.5.0
744
+ * @default false
745
+ */
746
+ isolatedDeclarations?: boolean
747
+
748
+ /**
749
+ * Unconditionally emit imports for unresolved files.
750
+ *
751
+ * @since v1.5.0
752
+ * @default false
753
+ */
754
+ isolatedModules?: boolean
755
+
756
+ /**
757
+ * Specify what JSX code is generated.
758
+ *
759
+ * @since v1.6.0
760
+ * @default "preserve"
761
+ */
762
+ jsx?: JSX
763
+
764
+ /**
765
+ * Specify the JSX factory function to use when targeting React JSX emit,
766
+ * e.g. `"React.createElement"` or `"h"`.
767
+ *
768
+ * @since v2.2.0
769
+ * @default "React.createElement"
770
+ */
771
+ jsxFactory?: StringLiteralUnion<'React.createElement'>
772
+
773
+ /**
774
+ * Specify the JSX Fragment reference used for fragments when targeting React
775
+ * JSX emit e.g. `"React.Fragment"` or `"Fragment"`.
776
+ *
777
+ * @since v4.0.0
778
+ * @default "React.Fragment"
779
+ */
780
+ jsxFragmentFactory?: StringLiteralUnion<'React.Fragment'>
781
+
782
+ /**
783
+ * Specify module specifier used to import the JSX factory functions when
784
+ * using `jsx: react-jsx*`.
785
+ *
786
+ * @since v4.1.0
787
+ * @default "react"
788
+ */
789
+ jsxImportSource?: StringLiteralUnion<'react'>
790
+
791
+ /**
792
+ * Resolve `keyof` to string valued
793
+ * property names only (no numbers or symbols).
794
+ *
795
+ * @since v2.9.0
796
+ * @default false
797
+ * @deprecated This option will be removed in TypeScript 5.5.
798
+ */
799
+ keyofStringsOnly?: boolean
800
+
801
+ /**
802
+ * List of library files to be included in the compilation.
803
+ *
804
+ * @since v2.0.0
805
+ */
806
+ lib?: Lib[]
807
+
808
+ /**
809
+ * Enable lib replacement.
810
+ *
811
+ * @since v5.8.0
812
+ * @default true
813
+ */
814
+ libReplacement?: boolean
815
+
816
+ /**
817
+ * Enable to list all emitted files.
818
+ *
819
+ * @since v2.0.0
820
+ * @default false
821
+ */
822
+ listEmittedFiles?: boolean
823
+
824
+ /**
825
+ * Print names of files part of the compilation.
826
+ *
827
+ * @since v1.5.0
828
+ * @default false
829
+ */
830
+ listFiles?: boolean
831
+
832
+ /**
833
+ * Print names of files that are part of the compilation and
834
+ * then stop processing.
835
+ *
836
+ * @default false
837
+ */
838
+ listFilesOnly?: boolean
839
+
840
+ /**
841
+ * Specifies the location where debugger should locate map files instead of
842
+ * generated locations.
843
+ *
844
+ * @since v1.0.0
845
+ */
846
+ mapRoot?: string
847
+
848
+ /**
849
+ * The maximum dependency depth to search under `node_modules` and load
850
+ * JavaScript files. Only applicable with `--allowJs`.
851
+ *
852
+ * @since v2.0.0
853
+ * @default 0
854
+ */
855
+ maxNodeModuleJsDepth?: number
856
+
857
+ /**
858
+ * Specify module code generation:
859
+ * - **`"AMD"`**
860
+ * - **`"CommonJS"`**
861
+ * - **`"ES2015"`**
862
+ * - **`"ES6"`**
863
+ * - **`"ESNext"`**
864
+ * - **`"None"`**
865
+ * - **`"System"`**
866
+ * - **`"UMD"`**
867
+ *
868
+ * Only `"AMD"` and `"System"` can be used in conjunction with `--outFile`.
869
+ * `"ES6"` and `"ES2015"` values may be used when targeting `"ES5"` or lower.
870
+ *
871
+ * @since v1.0.0
872
+ * @default ["ES3", "ES5"].includes(target) ? "CommonJS" : "ES6"
873
+ */
874
+ module?: Module
875
+
876
+ /**
877
+ * This setting controls how TypeScript determines whether a file is a
878
+ * {@link https://www.typescriptlang.org/docs/handbook/modules/theory.html#scripts-and-modules-in-javascript | **script or a module**}.
879
+ * There are three choices:
880
+ * - **`"auto"` (default)** - TypeScript will not only look for import and export statements, but it will also check whether the `"type"` field in a `package.json` is set to `"module"` when running with {@linkcode CompilerOptions.module | module}: `nodenext` or `node16`, and check whether the current file is a JSX file when running under {@linkcode CompilerOptions.jsx | jsx}: `react-jsx`.
881
+ * - **`"legacy"`** - The same behavior as 4.6 and prior, usings import and export statements to determine whether a file is a module.
882
+ * - **`"force"`** - Ensures that every non-declaration file is treated as a module.
883
+ *
884
+ * @since v4.7.0
885
+ * @default "auto"
886
+ * @see {@link https://www.typescriptlang.org/tsconfig/#moduleDetection | **TSConfig Reference**}
887
+ */
888
+ moduleDetection?: ModuleDetection
889
+
890
+ /**
891
+ * Specifies module resolution. Strategy:
892
+ * - **`"classic"` (TypeScript pre 1.6)**
893
+ * - **`"node"` (Node)**
894
+ *
895
+ * @since v1.6.0
896
+ * @default ["AMD", "System", "ES6"].includes(module) ? "classic" : "node"
897
+ */
898
+ moduleResolution?: ModuleResolution
899
+
900
+ /**
901
+ * List of file name suffixes to search when resolving a module.
902
+ *
903
+ * @since v4.7.0
904
+ */
905
+ moduleSuffixes?: string[]
906
+
907
+ /**
908
+ * Specifies the end of line sequence to be used when emitting files:
909
+ * - **`"crlf"` (Windows)**
910
+ * - **`"lf"` (Unix)**
911
+ *
912
+ * @since v1.5.0
913
+ * @default "lf"
914
+ */
915
+ newLine?: NewLine
916
+
917
+ /**
918
+ * Disable full export type checking
919
+ * (only critical parse and emit errors will be reported).
920
+ *
921
+ * @since v5.6.0
922
+ * @default false
923
+ */
924
+ noCheck?: boolean
925
+
926
+ /**
927
+ * Do not emit output.
928
+ *
929
+ * @since v1.5.0
930
+ * @default false
931
+ */
932
+ noEmit?: boolean
933
+
934
+ /**
935
+ * Do not generate custom helper functions like `__extends` in compiled
936
+ * output.
937
+ *
938
+ * @since v1.5.0
939
+ * @default false
940
+ */
941
+ noEmitHelpers?: boolean
942
+
943
+ /**
944
+ * Do not emit outputs if any export type checking errors were reported.
945
+ *
946
+ * @since v1.4.0
947
+ * @default false
948
+ */
949
+ noEmitOnError?: boolean
950
+
951
+ /**
952
+ * Do not truncate error messages.
953
+ *
954
+ * @since v1.0.0
955
+ * @default false
956
+ */
957
+ noErrorTruncation?: boolean
958
+
959
+ /**
960
+ * Report errors for fallthrough cases in `switch` statement.
961
+ *
962
+ * @since v1.8.0
963
+ * @default false
964
+ */
965
+ noFallthroughCasesInSwitch?: boolean
966
+
967
+ /**
968
+ * Warn on expressions and declarations with an implied `any` type.
969
+ *
970
+ * @since v1.0.0
971
+ * @default false
972
+ */
973
+ noImplicitAny?: boolean
974
+
975
+ /**
976
+ * Ensure overriding members in derived classes are marked with an `override`
977
+ * modifier.
978
+ *
979
+ * @since v4.3.0
980
+ * @default false
981
+ */
982
+ noImplicitOverride?: boolean
983
+
984
+ /**
985
+ * Report error when not all code paths in function return a value.
986
+ *
987
+ * @since v1.8.0
988
+ * @default false
989
+ */
990
+ noImplicitReturns?: boolean
991
+
992
+ /**
993
+ * Raise error on `this` expressions with an implied `any` type.
994
+ *
995
+ * @since v2.0.0
996
+ * @default false
997
+ */
998
+ noImplicitThis?: boolean
999
+
1000
+ /**
1001
+ * Do not emit `"use strict"` directives in module output.
1002
+ *
1003
+ * @since v1.8.0
1004
+ * @default false
1005
+ * @deprecated This option will be removed in TypeScript 5.5.
1006
+ */
1007
+ noImplicitUseStrict?: boolean
1008
+
1009
+ /**
1010
+ * Do not include the default library file (`lib.d.ts`).
1011
+ *
1012
+ * @since v1.0.0
1013
+ * @default false
1014
+ */
1015
+ noLib?: boolean
1016
+
1017
+ /**
1018
+ * Enforces using indexed accessors for keys declared using an indexed type.
1019
+ *
1020
+ * @since v4.2.0
1021
+ * @default false
1022
+ */
1023
+ noPropertyAccessFromIndexSignature?: boolean
1024
+
1025
+ /**
1026
+ * Do not add triple-slash references or module import targets to the list of
1027
+ * compiled files.
1028
+ *
1029
+ * @since v1.0.0
1030
+ * @default false
1031
+ */
1032
+ noResolve?: boolean
1033
+
1034
+ /**
1035
+ * Disable strict checking of generic signatures in function types.
1036
+ *
1037
+ * @since v2.5.0
1038
+ * @default false
1039
+ * @deprecated This option will be removed in TypeScript 5.5.
1040
+ */
1041
+ noStrictGenericChecks?: boolean
1042
+
1043
+ /**
1044
+ * Add `undefined` to a export type when accessed using an index.
1045
+ *
1046
+ * @since v4.1.0
1047
+ * @default false
1048
+ */
1049
+ noUncheckedIndexedAccess?: boolean
1050
+
1051
+ /**
1052
+ * Report error if failed to find a source file for a side effect import.
1053
+ *
1054
+ * @since v5.6.0
1055
+ * @default false
1056
+ */
1057
+ noUncheckedSideEffectImports?: boolean
1058
+
1059
+ /**
1060
+ * Report errors on unused locals.
1061
+ *
1062
+ * @since v2.0.0
1063
+ * @default false
1064
+ */
1065
+ noUnusedLocals?: boolean
1066
+
1067
+ /**
1068
+ * Report errors on unused parameters.
1069
+ *
1070
+ * @since v2.0.0
1071
+ * @default false
1072
+ */
1073
+ noUnusedParameters?: boolean
1074
+
1075
+ /**
1076
+ * It computes the final file location in a way that is not predictable or
1077
+ * consistent.
1078
+ *
1079
+ * @since v1.0.0
1080
+ * @deprecated Use {@linkcode CompilerOptions.outFile | outFile} instead.
1081
+ */
1082
+ out?: string
1083
+
1084
+ /**
1085
+ * Redirect output structure to the directory.
1086
+ *
1087
+ * @since v1.0.0
1088
+ */
1089
+ outDir?: string
1090
+
1091
+ /**
1092
+ * Concatenate and emit output to single file.
1093
+ *
1094
+ * @since v1.6.0
1095
+ */
1096
+ outFile?: string
1097
+
1098
+ /**
1099
+ * Specify path mapping to be computed relative to
1100
+ * {@linkcode CompilerOptions.baseUrl | baseUrl} option.
1101
+ *
1102
+ * @since v2.0.0
1103
+ */
1104
+ paths?: Record<string, string[]>
1105
+
1106
+ /**
1107
+ * List of TypeScript language server plugins to load.
1108
+ *
1109
+ * @since v2.2.0
1110
+ */
1111
+ plugins?: Plugin[]
1112
+
1113
+ /**
1114
+ * Do not erase `const enum` declarations in generated code.
1115
+ *
1116
+ * @since v1.4.0
1117
+ * @default false
1118
+ */
1119
+ preserveConstEnums?: boolean
1120
+
1121
+ /**
1122
+ * Do not resolve symlinks to their real path; treat a symlinked file like a
1123
+ * real one.
1124
+ *
1125
+ * @since v2.5.0
1126
+ * @default false
1127
+ */
1128
+ preserveSymlinks?: boolean
1129
+
1130
+ /**
1131
+ * Preserve unused imported values in the JavaScript output that
1132
+ * would otherwise be removed.
1133
+ *
1134
+ * @since v4.5.0
1135
+ * @default true
1136
+ * @deprecated Use {@linkcode CompilerOptions.verbatimModuleSyntax | verbatimModuleSyntax} instead.
1137
+ */
1138
+ preserveValueImports?: boolean
1139
+
1140
+ /**
1141
+ * Keep outdated console output in watch mode instead of clearing the screen.
1142
+ *
1143
+ * @since v2.8.0
1144
+ * @default false
1145
+ */
1146
+ preserveWatchOutput?: boolean
1147
+
1148
+ /**
1149
+ * Stylize errors and messages using color and context (experimental).
1150
+ *
1151
+ * @since v1.8.0
1152
+ * @default true // Unless piping to another program or redirecting output to a file.
1153
+ */
1154
+ pretty?: boolean
1155
+
1156
+ /**
1157
+ * Specifies the object invoked for `createElement` and `__spread` when
1158
+ * targeting `"react"` JSX emit.
1159
+ *
1160
+ * @since v1.8.0
1161
+ * @default "React"
1162
+ */
1163
+ reactNamespace?: StringLiteralUnion<'React'>
1164
+
1165
+ /**
1166
+ * Do not emit comments to output.
1167
+ *
1168
+ * @since v1.0.0
1169
+ * @default false
1170
+ */
1171
+ removeComments?: boolean
1172
+
1173
+ /**
1174
+ * Include modules imported with `.json` extension.
1175
+ *
1176
+ * @since v2.9.0
1177
+ * @default false
1178
+ */
1179
+ resolveJsonModule?: boolean
1180
+
1181
+ /**
1182
+ * Forces TypeScript to consult the exports field of `package.json` files
1183
+ * if it ever reads from a package in `node_modules`.
1184
+ *
1185
+ * @since v5.0.0
1186
+ * @default false
1187
+ */
1188
+ resolvePackageJsonExports?: boolean
1189
+
1190
+ /**
1191
+ * Forces TypeScript to consult the imports field of `package.json` files
1192
+ * when performing a lookup that starts with `#` from a file whose
1193
+ * ancestor directory contains a `package.json`.
1194
+ *
1195
+ * @since v5.0.0
1196
+ * @default false
1197
+ */
1198
+ resolvePackageJsonImports?: boolean
1199
+
1200
+ /**
1201
+ * Rewrite `.ts`, `.tsx`, `.mts`, and `.cts` file extensions in
1202
+ * relative import paths to their JavaScript equivalent in output files.
1203
+ *
1204
+ * @since v5.7.0
1205
+ * @default false
1206
+ */
1207
+ rewriteRelativeImportExtensions?: boolean
1208
+
1209
+ /**
1210
+ * Specifies the root directory of input files. Use to control the output
1211
+ * directory structure with `--outDir`.
1212
+ *
1213
+ * @since v1.5.0
1214
+ */
1215
+ rootDir?: string
1216
+
1217
+ /**
1218
+ * Specify list of root directories to be used when resolving modules.
1219
+ *
1220
+ * @since v2.0.0
1221
+ */
1222
+ rootDirs?: string[]
1223
+
1224
+ /**
1225
+ * Skip type checking of default library declaration files.
1226
+ *
1227
+ * @since v1.6.0
1228
+ * @deprecated Use {@linkcode CompilerOptions.skipLibCheck | skipLibCheck} instead.
1229
+ */
1230
+ skipDefaultLibCheck?: boolean
1231
+
1232
+ /**
1233
+ * Skip export type checking of declaration files.
1234
+ *
1235
+ * @since v2.0.0
1236
+ * @default false
1237
+ */
1238
+ skipLibCheck?: boolean
1239
+
1240
+ /**
1241
+ * Generates corresponding `.map` file.
1242
+ *
1243
+ * @since v1.0.0
1244
+ * @default false
1245
+ */
1246
+ sourceMap?: boolean
1247
+
1248
+ /**
1249
+ * Specifies the location where debugger should locate TypeScript files
1250
+ * instead of source locations.
1251
+ *
1252
+ * @since v1.0.0
1253
+ */
1254
+ sourceRoot?: string
1255
+
1256
+ /**
1257
+ * Enable all strict export type checking options.
1258
+ *
1259
+ * @since v2.3.0
1260
+ * @default false
1261
+ */
1262
+ strict?: boolean
1263
+
1264
+ /**
1265
+ * Enable stricter checking of of the `bind`, `call`, and `apply` methods on
1266
+ * functions.
1267
+ *
1268
+ * @since v3.2.0
1269
+ * @default false
1270
+ */
1271
+ strictBindCallApply?: boolean
1272
+
1273
+ /**
1274
+ * Built-in iterators are instantiated with a `TReturn` export type of
1275
+ * `undefined` instead of `any`.
1276
+ *
1277
+ * @since v5.6.0
1278
+ * @default false
1279
+ */
1280
+ strictBuiltinIteratorReturn?: boolean
1281
+
1282
+ /**
1283
+ * Disable bivariant parameter checking for function types.
1284
+ *
1285
+ * @since v2.6.0
1286
+ * @default false
1287
+ */
1288
+ strictFunctionTypes?: boolean
1289
+
1290
+ /**
1291
+ * Enable strict null checks.
1292
+ *
1293
+ * @since v2.0.0
1294
+ * @default false
1295
+ */
1296
+ strictNullChecks?: boolean
1297
+
1298
+ /**
1299
+ * Ensure non-undefined class properties are initialized in the constructor.
1300
+ *
1301
+ * @since v2.7.0
1302
+ * @default false
1303
+ */
1304
+ strictPropertyInitialization?: boolean
1305
+
1306
+ /**
1307
+ * Do not emit declarations for code that has an `@internal` annotation.
1308
+ *
1309
+ * @since v1.5.0
1310
+ */
1311
+ stripInternal?: boolean
1312
+
1313
+ /**
1314
+ * Suppress excess property checks for object literals.
1315
+ *
1316
+ * @since v1.6.0
1317
+ * @default false
1318
+ * @deprecated This option will be removed in TypeScript 5.5.
1319
+ */
1320
+ suppressExcessPropertyErrors?: boolean
1321
+
1322
+ /**
1323
+ * Suppress {@linkcode CompilerOptions.noImplicitAny | noImplicitAny}
1324
+ * errors for indexing objects lacking index signatures.
1325
+ *
1326
+ * @since v1.4.0
1327
+ * @default false
1328
+ * @deprecated This option will be removed in TypeScript 5.5.
1329
+ */
1330
+ suppressImplicitAnyIndexErrors?: boolean
1331
+
1332
+ /**
1333
+ * Specify ECMAScript target version.
1334
+ *
1335
+ * @since v1.0.0
1336
+ * @default "es3"
1337
+ */
1338
+ target?: Target
1339
+
1340
+ /**
1341
+ * Enable tracing of the name resolution process.
1342
+ *
1343
+ * @since v2.0.0
1344
+ * @default false
1345
+ */
1346
+ traceResolution?: boolean
1347
+
1348
+ /**
1349
+ * Specify file to store incremental compilation information.
1350
+ *
1351
+ * @since v3.4.0
1352
+ * @default ".tsbuildinfo"
1353
+ */
1354
+ tsBuildInfoFile?: StringLiteralUnion<'.tsbuildinfo'>
1355
+
1356
+ /**
1357
+ * Specify list of directories for export type definition files to be
1358
+ * included.
1359
+ *
1360
+ * @since v2.0.0
1361
+ */
1362
+ typeRoots?: string[]
1363
+
1364
+ /**
1365
+ * Type declaration files to be included in compilation.
1366
+ *
1367
+ * @since v2.0.0
1368
+ */
1369
+ types?: string[]
1370
+
1371
+ /**
1372
+ * Emit ECMAScript standard class fields.
1373
+ *
1374
+ * @since v3.7.0
1375
+ * @default false
1376
+ */
1377
+ useDefineForClassFields?: boolean
1378
+
1379
+ /**
1380
+ * Default `catch` clause variables as `unknown` instead of `any`.
1381
+ *
1382
+ * @since v4.4.0
1383
+ * @default false
1384
+ */
1385
+ useUnknownInCatchVariables?: boolean
1386
+
1387
+ /**
1388
+ * Anything that uses the export type modifier is dropped entirely.
1389
+ *
1390
+ * @since v5.0.0
1391
+ * @default false
1392
+ */
1393
+ verbatimModuleSyntax?: boolean
1394
+
1395
+ /**
1396
+ * Watch input files.
1397
+ *
1398
+ * @default false
1399
+ * @deprecated Use {@linkcode TsConfigJson.watchOptions | watchOptions} instead.
1400
+ */
1401
+ watch?: boolean
1402
+
1403
+ /**
1404
+ * Specify the strategy for watching directories under systems that lack
1405
+ * recursive file-watching functionality.
1406
+ *
1407
+ * @since v3.8.0
1408
+ * @default "useFsEvents"
1409
+ * @deprecated Use {@linkcode WatchOptions.watchDirectory | watchOptions.watchDirectory} instead.
1410
+ */
1411
+ watchDirectory?: WatchDirectory
1412
+
1413
+ /**
1414
+ * Specify the strategy for watching individual files.
1415
+ *
1416
+ * @since v3.8.0
1417
+ * @default "useFsEvents"
1418
+ * @deprecated Use {@linkcode WatchOptions.watchFile | watchOptions.watchFile} instead.
1419
+ */
1420
+ watchFile?: WatchFile
1421
+ }
1422
+
1423
+ export type WatchFileKind =
1424
+ | 'DynamicPriorityPolling'
1425
+ | 'FixedChunkSizePolling'
1426
+ | 'FixedPollingInterval'
1427
+ | 'PriorityPollingInterval'
1428
+ | 'UseFsEvents'
1429
+ | 'UseFsEventsOnParentDirectory'
1430
+
1431
+ export type WatchDirectoryKind =
1432
+ | 'DynamicPriorityPolling'
1433
+ | 'FixedChunkSizePolling'
1434
+ | 'FixedPollingInterval'
1435
+ | 'UseFsEvents'
1436
+
1437
+ export type PollingWatchKind =
1438
+ | 'DynamicPriority'
1439
+ | 'FixedChunkSize'
1440
+ | 'FixedInterval'
1441
+ | 'PriorityInterval'
1442
+
1443
+ export type WatchOptions = {
1444
+ /**
1445
+ * Specifies a list of directories to exclude from watch.
1446
+ *
1447
+ * @since v4.2.0
1448
+ */
1449
+ excludeDirectories?: string[]
1450
+
1451
+ /**
1452
+ * Specifies a list of files to exclude from watch.
1453
+ *
1454
+ * @since v4.2.0
1455
+ */
1456
+ excludeFiles?: string[]
1457
+
1458
+ /**
1459
+ * Specify the polling strategy to use when the system runs out of or doesn't
1460
+ * support native file watchers.
1461
+ *
1462
+ * @since v3.8.0
1463
+ */
1464
+ fallbackPolling?: Lowercase<PollingWatchKind> | PollingWatchKind
1465
+
1466
+ /**
1467
+ * Enable synchronous updates on directory watchers for platforms that don't
1468
+ * support recursive watching natively.
1469
+ *
1470
+ * @since v3.8.0
1471
+ */
1472
+ synchronousWatchDirectory?: boolean
1473
+
1474
+ /**
1475
+ * Specify the strategy for watching directories under systems that lack
1476
+ * recursive file-watching functionality.
1477
+ *
1478
+ * @since v3.8.0
1479
+ * @default "UseFsEvents"
1480
+ */
1481
+ watchDirectory?: Lowercase<WatchDirectoryKind> | WatchDirectoryKind
1482
+
1483
+ /**
1484
+ * Specify the strategy for watching individual files.
1485
+ *
1486
+ * @since v3.8.0
1487
+ * @default "UseFsEvents"
1488
+ */
1489
+ watchFile?: Lowercase<WatchFileKind> | WatchFileKind
1490
+ }
1491
+
1492
+ /**
1493
+ * Auto export type (`.d.ts`) acquisition options for this project.
1494
+ */
1495
+ export type TypeAcquisition = {
1496
+ /**
1497
+ * Disable inferring what types should be added based on filenames in a
1498
+ * project.
1499
+ *
1500
+ * @since v4.1.0
1501
+ */
1502
+ disableFilenameBasedTypeAcquisition?: boolean
1503
+
1504
+ /**
1505
+ * Enable auto export type acquisition.
1506
+ *
1507
+ * @default false
1508
+ */
1509
+ enable?: boolean
1510
+
1511
+ /**
1512
+ * Specifies a list of export type declarations to be excluded from
1513
+ * auto export type acquisition. For example, `["jquery", "lodash"]`.
1514
+ */
1515
+ exclude?: string[]
1516
+
1517
+ /**
1518
+ * Specifies a list of export type declarations to be included in
1519
+ * auto export type acquisition. For example, `["jquery", "lodash"]`.
1520
+ */
1521
+ include?: string[]
1522
+ }
1523
+
1524
+ export type References = {
1525
+ /**
1526
+ * True if it is intended that this reference form a circularity.
1527
+ */
1528
+ circular?: boolean
1529
+
1530
+ /**
1531
+ * The path as the user originally wrote it.
1532
+ */
1533
+ originalPath?: string
1534
+
1535
+ /**
1536
+ * A normalized path on disk.
1537
+ */
1538
+ path: string
1539
+
1540
+ /**
1541
+ * True if the output of this reference should be prepended to the
1542
+ * output of this project. Only valid for `--outFile` compilations.
1543
+ *
1544
+ * @deprecated This option will be removed in TypeScript 5.5.
1545
+ */
1546
+ prepend?: boolean
1547
+ }
1548
+
1549
+ /**
1550
+ * Type for
1551
+ * {@link https://www.typescriptlang.org/docs/handbook/tsconfig-json.html | TypeScript's `tsconfig.json` file}
1552
+ * (TypeScript 3.7).
1553
+ */
1554
+ export type TsConfigJson = {
1555
+ $schema?: 'https://json.schemastore.org/tsconfig'
1556
+
1557
+ buildOptions?: BuildOptions
1558
+
1559
+ /**
1560
+ * Enable Compile-on-Save for this project.
1561
+ */
1562
+ compileOnSave?: boolean
1563
+
1564
+ /**
1565
+ * Instructs the TypeScript compiler how to compile `.ts` files.
1566
+ */
1567
+ compilerOptions?: CompilerOptions
1568
+
1569
+ display?: string
1570
+
1571
+ /**
1572
+ * Specifies a list of files to be excluded from compilation. The
1573
+ * {@linkcode TsConfigJson.exclude | exclude} property only affects the files
1574
+ * included via the {@linkcode TsConfigJson.include | include} property and
1575
+ * not the {@linkcode TsConfigJson.files | files} property. Glob patterns
1576
+ * require TypeScript version 2.0 or later.
1577
+ *
1578
+ * @since v2.0.0
1579
+ */
1580
+ exclude?: string[]
1581
+
1582
+ /**
1583
+ * Path to base configuration file to inherit from.
1584
+ *
1585
+ * @since v2.1.0
1586
+ */
1587
+ extends?: string | string[]
1588
+
1589
+ /**
1590
+ * If no {@linkcode TsConfigJson.files | files} or
1591
+ * {@linkcode TsConfigJson.include | include} property is present in a
1592
+ * `tsconfig.json`, the compiler defaults to including all files in the
1593
+ * containing directory and subdirectories except those specified by
1594
+ * {@linkcode TsConfigJson.exclude | exclude}. When a
1595
+ * {@linkcode TsConfigJson.files | files} property is specified, only those
1596
+ * files and those specified by {@linkcode TsConfigJson.include | include}
1597
+ * are included.
1598
+ *
1599
+ * @since v1.5.0
1600
+ */
1601
+ files?: string[]
1602
+
1603
+ /**
1604
+ * Specifies a list of glob patterns that match files to be included in
1605
+ * compilation. If no {@linkcode TsConfigJson.files | files} or
1606
+ * {@linkcode TsConfigJson.include | include} property is present in a
1607
+ * `tsconfig.json`, the compiler defaults to including all files in the
1608
+ * containing directory and subdirectories except those specified by
1609
+ * {@linkcode TsConfigJson.exclude | exclude}.
1610
+ *
1611
+ * @since v2.0.0
1612
+ */
1613
+ include?: string[]
1614
+
1615
+ /**
1616
+ * Referenced projects.
1617
+ *
1618
+ * @since v3.0.0
1619
+ */
1620
+ references?: References[]
1621
+
1622
+ /**
1623
+ * Auto export type (.d.ts) acquisition options for this project.
1624
+ *
1625
+ * @since v2.1.0
1626
+ */
1627
+ typeAcquisition?: TypeAcquisition
1628
+
1629
+ /**
1630
+ * Instructs the TypeScript compiler how to watch files.
1631
+ *
1632
+ * @since v3.8.0
1633
+ */
1634
+ watchOptions?: WatchOptions
1635
+ }
1636
+
1637
+ export {}