type-fest 3.4.0 → 3.5.1

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.
package/index.d.ts CHANGED
@@ -74,6 +74,7 @@ export type {RequiredKeysOf} from './source/required-keys-of';
74
74
  export type {HasRequiredKeys} from './source/has-required-keys';
75
75
  export type {Spread} from './source/spread';
76
76
  export type {TupleToUnion} from './source/tuple-to-union';
77
+ export type {IsEqual} from './source/is-equal';
77
78
 
78
79
  // Template literal types
79
80
  export type {CamelCase} from './source/camel-case';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "type-fest",
3
- "version": "3.4.0",
3
+ "version": "3.5.1",
4
4
  "description": "A collection of essential TypeScript types",
5
5
  "license": "(MIT OR CC0-1.0)",
6
6
  "repository": "sindresorhus/type-fest",
package/readme.md CHANGED
@@ -169,6 +169,7 @@ Click the type names for complete docs.
169
169
  - [`RequiredKeysOf`](source/required-keys-of.d.ts) - Extract all required keys from the given type.
170
170
  - [`HasRequiredKeys`](source/has-required-keys.d.ts) - Create a `true`/`false` type depending on whether the given type has any required fields.
171
171
  - [`Spread`](source/spread.d.ts) - Mimic the type inferred by TypeScript when merging two objects or two arrays/tuples using the spread syntax.
172
+ - [`IsEqual`](source/is-equal.d.ts) - Returns a boolean for whether the two given types are equal.
172
173
 
173
174
  ### JSON
174
175
 
@@ -237,7 +238,7 @@ Click the type names for complete docs.
237
238
  ### Miscellaneous
238
239
 
239
240
  - [`GlobalThis`](source/global-this.d.ts) - Declare locally scoped properties on `globalThis`.
240
- - [`PackageJson`](source/package-json.d.ts) - Type for [npm's `package.json` file](https://docs.npmjs.com/creating-a-package-json-file). It also includes support for [TypeScript Declaration Files](https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html) and [Yarn Workspaces](https://classic.yarnpkg.com/lang/en/docs/workspaces/).
241
+ - [`PackageJson`](source/package-json.d.ts) - Type for [npm's `package.json` file](https://docs.npmjs.com/creating-a-package-json-file). It also includes support for [TypeScript Declaration Files](https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html).
241
242
  - [`TsConfigJson`](source/tsconfig-json.d.ts) - Type for [TypeScript's `tsconfig.json` file](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html).
242
243
 
243
244
  ## Declined types
@@ -74,5 +74,7 @@ const dbResult: CamelCasedProperties<RawOptions> = {
74
74
  @category Template literal
75
75
  */
76
76
  export type CamelCase<Type, Options extends CamelCaseOptions = {preserveConsecutiveUppercase: true}> = Type extends string
77
- ? Uncapitalize<CamelCaseFromArray<SplitWords<Type extends Uppercase<Type> ? Lowercase<Type> : Type>, Options>>
77
+ ? string extends Type
78
+ ? Type
79
+ : Uncapitalize<CamelCaseFromArray<SplitWords<Type extends Uppercase<Type> ? Lowercase<Type> : Type>, Options>>
78
80
  : Type;
@@ -1,5 +1,5 @@
1
1
  import type {Opaque} from './opaque';
2
- import type {IsEqual} from './internal';
2
+ import type {IsEqual} from './is-equal';
3
3
  import type {ConditionalExcept} from './conditional-except';
4
4
  import type {ConditionalSimplifyDeep} from './conditional-simplify';
5
5
 
@@ -1,4 +1,4 @@
1
- import type {IsEqual} from './internal';
1
+ import type {IsEqual} from './is-equal';
2
2
 
3
3
  /**
4
4
  Filter out keys from an object.
@@ -1,4 +1,4 @@
1
- import type {IsEqual} from './internal';
1
+ import type {IsEqual} from './is-equal';
2
2
 
3
3
  /**
4
4
  Returns a boolean for whether the given array includes the given item.
@@ -1,18 +1,6 @@
1
1
  import type {Primitive} from './primitive';
2
2
  import type {Simplify} from './simplify';
3
3
 
4
- /**
5
- Returns a boolean for whether the two given types are equal.
6
-
7
- @link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650
8
- @link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
9
- */
10
- export type IsEqual<T, U> =
11
- (<G>() => G extends T ? 1 : 2) extends
12
- (<G>() => G extends U ? 1 : 2)
13
- ? true
14
- : false;
15
-
16
4
  /**
17
5
  Infer the length of the given array `<T>`.
18
6
 
@@ -0,0 +1,30 @@
1
+ /**
2
+ Returns a boolean for whether the two given types are equal.
3
+
4
+ @link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650
5
+ @link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
6
+
7
+ Use-cases:
8
+ - If you want to make a conditional branch based on the result of a comparison of two types.
9
+
10
+ @example
11
+ ```
12
+ import type {IsEqual} from 'type-fest';
13
+
14
+ // This type returns a boolean for whether the given array includes the given item.
15
+ // `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal.
16
+ type Includes<Value extends readonly any[], Item> =
17
+ Value extends readonly [Value[0], ...infer rest]
18
+ ? IsEqual<Value[0], Item> extends true
19
+ ? true
20
+ : Includes<rest, Item>
21
+ : false;
22
+ ```
23
+
24
+ @category Utilities
25
+ */
26
+ export type IsEqual<A, B> =
27
+ (<G>() => G extends A ? 1 : 2) extends
28
+ (<G>() => G extends B ? 1 : 2)
29
+ ? true
30
+ : false;
package/source/join.d.ts CHANGED
@@ -21,13 +21,13 @@ const path: Join<[1, 2, 3], '.'> = [1, 2, 3].join('.');
21
21
  @category Template literal
22
22
  */
23
23
  export type Join<
24
- Strings extends Array<string | number>,
24
+ Strings extends Readonly<Array<string | number>>,
25
25
  Delimiter extends string,
26
26
  > = Strings extends []
27
27
  ? ''
28
28
  : Strings extends [string | number]
29
29
  ? `${Strings[0]}`
30
- : Strings extends [
30
+ : Strings extends readonly [
31
31
  string | number,
32
32
  ...infer Rest extends Array<string | number>,
33
33
  ]
@@ -1,4 +1,5 @@
1
- import type {IsEqual, Subtract} from './internal';
1
+ import type {Subtract} from './internal';
2
+ import type {IsEqual} from './is-equal';
2
3
 
3
4
  type Recursive<T> = Array<Recursive<T>>;
4
5
 
@@ -1,4 +1,5 @@
1
- import type {IsEqual, Subtract} from './internal';
1
+ import type {Subtract} from './internal';
2
+ import type {IsEqual} from './is-equal';
2
3
 
3
4
  type Recursive<T> = ReadonlyArray<Recursive<T>>;
4
5
 
@@ -294,7 +294,7 @@ declare namespace PackageJson {
294
294
  };
295
295
 
296
296
  /**
297
- An alternative configuration for Yarn workspaces.
297
+ An alternative configuration for workspaces.
298
298
  */
299
299
  export type WorkspaceConfig = {
300
300
  /**
@@ -305,7 +305,8 @@ declare namespace PackageJson {
305
305
  /**
306
306
  Designed to solve the problem of packages which break when their `node_modules` are moved to the root workspace directory - a process known as hoisting. For these packages, both within your workspace, and also some that have been installed via `node_modules`, it is important to have a mechanism for preventing the default Yarn workspace behavior. By adding workspace pattern strings here, Yarn will resume non-workspace behavior for any package which matches the defined patterns.
307
307
 
308
- [Read more](https://classic.yarnpkg.com/blog/2018/02/15/nohoist/)
308
+ [Supported](https://classic.yarnpkg.com/blog/2018/02/15/nohoist/) by Yarn.
309
+ [Not supported](https://github.com/npm/rfcs/issues/287) by npm.
309
310
  */
310
311
  nohoist?: WorkspacePattern[];
311
312
  };
@@ -322,15 +323,6 @@ declare namespace PackageJson {
322
323
  type WorkspacePattern = string;
323
324
 
324
325
  export type YarnConfiguration = {
325
- /**
326
- Used to configure [Yarn workspaces](https://classic.yarnpkg.com/docs/workspaces/).
327
-
328
- Workspaces allow you to manage multiple packages within the same repository in such a way that you only need to run `yarn install` once to install all of them in a single pass.
329
-
330
- Please note that the top-level `private` property of `package.json` **must** be set to `true` in order to use workspaces.
331
- */
332
- workspaces?: WorkspacePattern[] | WorkspaceConfig;
333
-
334
326
  /**
335
327
  If your package only allows one version of a given dependency, and you’d like to enforce the same behavior as `yarn install --flat` on the command-line, set this to `true`.
336
328
 
@@ -624,6 +616,15 @@ declare namespace PackageJson {
624
616
  */
625
617
  url: string;
626
618
  };
619
+
620
+ /**
621
+ Used to configure [npm workspaces](https://docs.npmjs.com/cli/using-npm/workspaces) / [Yarn workspaces](https://classic.yarnpkg.com/docs/workspaces/).
622
+
623
+ Workspaces allow you to manage multiple packages within the same repository in such a way that you only need to run your install command once in order to install all of them in a single pass.
624
+
625
+ Please note that the top-level `private` property of `package.json` **must** be set to `true` in order to use workspaces.
626
+ */
627
+ workspaces?: WorkspacePattern[] | WorkspaceConfig;
627
628
  }
628
629
 
629
630
  /**
@@ -52,6 +52,7 @@ declare namespace TsConfigJson {
52
52
  | 'ES2019'
53
53
  | 'ES2020'
54
54
  | 'ES2021'
55
+ | 'ES2022'
55
56
  | 'ESNext'
56
57
  // Lowercase alternatives
57
58
  | 'es3'
@@ -64,6 +65,7 @@ declare namespace TsConfigJson {
64
65
  | 'es2019'
65
66
  | 'es2020'
66
67
  | 'es2021'
68
+ | 'es2022'
67
69
  | 'esnext';
68
70
 
69
71
  export type Lib =
@@ -221,6 +223,21 @@ declare namespace TsConfigJson {
221
223
  | 'useFsEventsOnParentDirectory'
222
224
  | 'fixedChunkSizePolling';
223
225
 
226
+ export type ModuleResolution =
227
+ | 'classic'
228
+ | 'node'
229
+ | 'node16'
230
+ | 'nodenext'
231
+ // Pascal-cased alternatives
232
+ | 'Classic'
233
+ | 'Node'
234
+ | 'Node16'
235
+ | 'NodeNext';
236
+
237
+ export type ModuleDetection =
238
+ | 'auto'
239
+ | 'legacy'
240
+ | 'force';
224
241
  }
225
242
 
226
243
  export type CompilerOptions = {
@@ -247,8 +264,6 @@ declare namespace TsConfigJson {
247
264
 
248
265
  /**
249
266
  Specify output directory for generated declaration files.
250
-
251
- Requires TypeScript version 2.0 or later.
252
267
  */
253
268
  declarationDir?: string;
254
269
 
@@ -262,8 +277,6 @@ declare namespace TsConfigJson {
262
277
  /**
263
278
  Reduce the number of projects loaded automatically by TypeScript.
264
279
 
265
- Requires TypeScript version 4.0 or later.
266
-
267
280
  @default false
268
281
  */
269
282
  disableReferencedProjectLoad?: boolean;
@@ -271,8 +284,6 @@ declare namespace TsConfigJson {
271
284
  /**
272
285
  Enforces using indexed accessors for keys declared using an indexed type.
273
286
 
274
- Requires TypeScript version 4.2 or later.
275
-
276
287
  @default false
277
288
  */
278
289
  noPropertyAccessFromIndexSignature?: boolean;
@@ -294,8 +305,6 @@ declare namespace TsConfigJson {
294
305
  /**
295
306
  Differentiate between undefined and not present when type checking.
296
307
 
297
- Requires TypeScript version 4.4 or later.
298
-
299
308
  @default false
300
309
  */
301
310
  exactOptionalPropertyTypes?: boolean;
@@ -347,8 +356,6 @@ declare namespace TsConfigJson {
347
356
  /**
348
357
  Specify the JSX factory function to use when targeting React JSX emit, e.g. `React.createElement` or `h`.
349
358
 
350
- Requires TypeScript version 2.1 or later.
351
-
352
359
  @default 'React.createElement'
353
360
  */
354
361
  jsxFactory?: string;
@@ -356,8 +363,6 @@ declare namespace TsConfigJson {
356
363
  /**
357
364
  Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'.
358
365
 
359
- Requires TypeScript version 4.0 or later.
360
-
361
366
  @default 'React.Fragment'
362
367
  */
363
368
  jsxFragmentFactory?: string;
@@ -365,8 +370,6 @@ declare namespace TsConfigJson {
365
370
  /**
366
371
  Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.
367
372
 
368
- Requires TypeScript version 4.1 or later.
369
-
370
373
  @default 'react'
371
374
  */
372
375
  jsxImportSource?: string;
@@ -395,7 +398,7 @@ declare namespace TsConfigJson {
395
398
 
396
399
  @default ['AMD', 'System', 'ES6'].includes(module) ? 'classic' : 'node'
397
400
  */
398
- moduleResolution?: 'classic' | 'node';
401
+ moduleResolution?: CompilerOptions.ModuleResolution;
399
402
 
400
403
  /**
401
404
  Specifies the end of line sequence to be used when emitting files: 'crlf' (Windows) or 'lf' (Unix).
@@ -442,8 +445,6 @@ declare namespace TsConfigJson {
442
445
  /**
443
446
  Report errors on unused locals.
444
447
 
445
- Requires TypeScript version 2.0 or later.
446
-
447
448
  @default false
448
449
  */
449
450
  noUnusedLocals?: boolean;
@@ -451,8 +452,6 @@ declare namespace TsConfigJson {
451
452
  /**
452
453
  Report errors on unused parameters.
453
454
 
454
- Requires TypeScript version 2.0 or later.
455
-
456
455
  @default false
457
456
  */
458
457
  noUnusedParameters?: boolean;
@@ -486,8 +485,6 @@ declare namespace TsConfigJson {
486
485
  /**
487
486
  Skip type checking of declaration files.
488
487
 
489
- Requires TypeScript version 2.0 or later.
490
-
491
488
  @default false
492
489
  */
493
490
  skipLibCheck?: boolean;
@@ -592,8 +589,6 @@ declare namespace TsConfigJson {
592
589
  /**
593
590
  Default catch clause variables as `unknown` instead of `any`.
594
591
 
595
- Requires TypeScript version 4.4 or later.
596
-
597
592
  @default false
598
593
  */
599
594
  useUnknownInCatchVariables?: boolean;
@@ -609,8 +604,6 @@ declare namespace TsConfigJson {
609
604
  /**
610
605
  Specify the polling strategy to use when the system runs out of or doesn't support native file watchers.
611
606
 
612
- Requires TypeScript version 3.8 or later.
613
-
614
607
  @deprecated Use watchOptions.fallbackPolling instead.
615
608
  */
616
609
  fallbackPolling?: CompilerOptions.FallbackPolling;
@@ -618,8 +611,6 @@ declare namespace TsConfigJson {
618
611
  /**
619
612
  Specify the strategy for watching directories under systems that lack recursive file-watching functionality.
620
613
 
621
- Requires TypeScript version 3.8 or later.
622
-
623
614
  @default 'useFsEvents'
624
615
  @deprecated Use watchOptions.watchDirectory instead.
625
616
  */
@@ -628,8 +619,6 @@ declare namespace TsConfigJson {
628
619
  /**
629
620
  Specify the strategy for watching individual files.
630
621
 
631
- Requires TypeScript version 3.8 or later.
632
-
633
622
  @default 'useFsEvents'
634
623
  @deprecated Use watchOptions.watchFile instead.
635
624
  */
@@ -666,8 +655,6 @@ declare namespace TsConfigJson {
666
655
  /**
667
656
  Add `undefined` to a type when accessed using an index.
668
657
 
669
- Requires TypeScript version 4.1 or later.
670
-
671
658
  @default false
672
659
  */
673
660
  noUncheckedIndexedAccess?: boolean;
@@ -703,8 +690,6 @@ declare namespace TsConfigJson {
703
690
  /**
704
691
  Emit a v8 CPU profile of the compiler run for debugging.
705
692
 
706
- Requires TypeScript version 3.7 or later.
707
-
708
693
  @default 'profile.cpuprofile'
709
694
  */
710
695
  generateCpuProfile?: string;
@@ -721,8 +706,6 @@ declare namespace TsConfigJson {
721
706
 
722
707
  /**
723
708
  List of TypeScript language server plugins to load.
724
-
725
- Requires TypeScript version 2.3 or later.
726
709
  */
727
710
  plugins?: CompilerOptions.Plugin[];
728
711
 
@@ -733,15 +716,11 @@ declare namespace TsConfigJson {
733
716
 
734
717
  /**
735
718
  Specify list of directories for type definition files to be included.
736
-
737
- Requires TypeScript version 2.0 or later.
738
719
  */
739
720
  typeRoots?: string[];
740
721
 
741
722
  /**
742
723
  Type declaration files to be included in compilation.
743
-
744
- Requires TypeScript version 2.0 or later.
745
724
  */
746
725
  types?: string[];
747
726
 
@@ -783,8 +762,6 @@ declare namespace TsConfigJson {
783
762
  /**
784
763
  Enable to list all emitted files.
785
764
 
786
- Requires TypeScript version 2.0 or later.
787
-
788
765
  @default false
789
766
  */
790
767
  listEmittedFiles?: boolean;
@@ -792,24 +769,18 @@ declare namespace TsConfigJson {
792
769
  /**
793
770
  Disable size limit for JavaScript project.
794
771
 
795
- Requires TypeScript version 2.0 or later.
796
-
797
772
  @default false
798
773
  */
799
774
  disableSizeLimit?: boolean;
800
775
 
801
776
  /**
802
777
  List of library files to be included in the compilation.
803
-
804
- Requires TypeScript version 2.0 or later.
805
778
  */
806
779
  lib?: CompilerOptions.Lib[];
807
780
 
808
781
  /**
809
782
  Enable strict null checks.
810
783
 
811
- Requires TypeScript version 2.0 or later.
812
-
813
784
  @default false
814
785
  */
815
786
  strictNullChecks?: boolean;
@@ -824,8 +795,6 @@ declare namespace TsConfigJson {
824
795
  /**
825
796
  Import emit helpers (e.g. `__extends`, `__rest`, etc..) from tslib.
826
797
 
827
- Requires TypeScript version 2.1 or later.
828
-
829
798
  @default false
830
799
  */
831
800
  importHelpers?: boolean;
@@ -840,8 +809,6 @@ declare namespace TsConfigJson {
840
809
  /**
841
810
  Parse in strict mode and emit `'use strict'` for each source file.
842
811
 
843
- Requires TypeScript version 2.1 or later.
844
-
845
812
  @default false
846
813
  */
847
814
  alwaysStrict?: boolean;
@@ -849,8 +816,6 @@ declare namespace TsConfigJson {
849
816
  /**
850
817
  Enable all strict type checking options.
851
818
 
852
- Requires TypeScript version 2.3 or later.
853
-
854
819
  @default false
855
820
  */
856
821
  strict?: boolean;
@@ -865,8 +830,6 @@ declare namespace TsConfigJson {
865
830
  /**
866
831
  Provide full support for iterables in `for-of`, spread, and destructuring when targeting `ES5` or `ES3`.
867
832
 
868
- Requires TypeScript version 2.3 or later.
869
-
870
833
  @default false
871
834
  */
872
835
  downlevelIteration?: boolean;
@@ -874,8 +837,6 @@ declare namespace TsConfigJson {
874
837
  /**
875
838
  Report errors in `.js` files.
876
839
 
877
- Requires TypeScript version 2.3 or later.
878
-
879
840
  @default false
880
841
  */
881
842
  checkJs?: boolean;
@@ -883,8 +844,6 @@ declare namespace TsConfigJson {
883
844
  /**
884
845
  Disable bivariant parameter checking for function types.
885
846
 
886
- Requires TypeScript version 2.6 or later.
887
-
888
847
  @default false
889
848
  */
890
849
  strictFunctionTypes?: boolean;
@@ -892,8 +851,6 @@ declare namespace TsConfigJson {
892
851
  /**
893
852
  Ensure non-undefined class properties are initialized in the constructor.
894
853
 
895
- Requires TypeScript version 2.7 or later.
896
-
897
854
  @default false
898
855
  */
899
856
  strictPropertyInitialization?: boolean;
@@ -901,8 +858,6 @@ declare namespace TsConfigJson {
901
858
  /**
902
859
  Emit `__importStar` and `__importDefault` helpers for runtime Babel ecosystem compatibility and enable `--allowSyntheticDefaultImports` for typesystem compatibility.
903
860
 
904
- Requires TypeScript version 2.7 or later.
905
-
906
861
  @default false
907
862
  */
908
863
  esModuleInterop?: boolean;
@@ -917,8 +872,6 @@ declare namespace TsConfigJson {
917
872
  /**
918
873
  Resolve `keyof` to string valued property names only (no numbers or symbols).
919
874
 
920
- Requires TypeScript version 2.9 or later.
921
-
922
875
  @default false
923
876
  */
924
877
  keyofStringsOnly?: boolean;
@@ -926,8 +879,6 @@ declare namespace TsConfigJson {
926
879
  /**
927
880
  Emit ECMAScript standard class fields.
928
881
 
929
- Requires TypeScript version 3.7 or later.
930
-
931
882
  @default false
932
883
  */
933
884
  useDefineForClassFields?: boolean;
@@ -935,8 +886,6 @@ declare namespace TsConfigJson {
935
886
  /**
936
887
  Generates a sourcemap for each corresponding `.d.ts` file.
937
888
 
938
- Requires TypeScript version 2.9 or later.
939
-
940
889
  @default false
941
890
  */
942
891
  declarationMap?: boolean;
@@ -944,8 +893,6 @@ declare namespace TsConfigJson {
944
893
  /**
945
894
  Include modules imported with `.json` extension.
946
895
 
947
- Requires TypeScript version 2.9 or later.
948
-
949
896
  @default false
950
897
  */
951
898
  resolveJsonModule?: boolean;
@@ -953,8 +900,6 @@ declare namespace TsConfigJson {
953
900
  /**
954
901
  Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it.
955
902
 
956
- Requires TypeScript version 3.8 or later.
957
-
958
903
  @default false
959
904
  */
960
905
  assumeChangesOnlyAffectDirectDependencies?: boolean;
@@ -983,8 +928,6 @@ declare namespace TsConfigJson {
983
928
  /**
984
929
  Opt a project out of multi-project reference checking when editing.
985
930
 
986
- Requires TypeScript version 3.8 or later.
987
-
988
931
  @default false
989
932
  */
990
933
  disableSolutionSearching?: boolean;
@@ -992,11 +935,28 @@ declare namespace TsConfigJson {
992
935
  /**
993
936
  Print names of files which TypeScript sees as a part of your project and the reason they are part of the compilation.
994
937
 
995
- Requires TypeScript version 4.2 or later.
996
-
997
938
  @default false
998
939
  */
999
940
  explainFiles?: boolean;
941
+
942
+ /**
943
+ Preserve unused imported values in the JavaScript output that would otherwise be removed.
944
+
945
+ @default true
946
+ */
947
+ preserveValueImports?: boolean;
948
+
949
+ /**
950
+ List of file name suffixes to search when resolving a module.
951
+ */
952
+ moduleSuffixes?: string[];
953
+
954
+ /**
955
+ Control what method is used to detect module-format JS files.
956
+
957
+ @default 'auto'
958
+ */
959
+ moduleDetection?: CompilerOptions.ModuleDetection;
1000
960
  };
1001
961
 
1002
962
  namespace WatchOptions {
@@ -1026,8 +986,6 @@ declare namespace TsConfigJson {
1026
986
  /**
1027
987
  Specify the strategy for watching individual files.
1028
988
 
1029
- Requires TypeScript version 3.8 or later.
1030
-
1031
989
  @default 'UseFsEvents'
1032
990
  */
1033
991
  watchFile?: WatchOptions.WatchFileKind | Lowercase<WatchOptions.WatchFileKind>;
@@ -1035,16 +993,12 @@ declare namespace TsConfigJson {
1035
993
  /**
1036
994
  Specify the strategy for watching directories under systems that lack recursive file-watching functionality.
1037
995
 
1038
- Requires TypeScript version 3.8 or later.
1039
-
1040
996
  @default 'UseFsEvents'
1041
997
  */
1042
998
  watchDirectory?: WatchOptions.WatchDirectoryKind | Lowercase<WatchOptions.WatchDirectoryKind>;
1043
999
 
1044
1000
  /**
1045
1001
  Specify the polling strategy to use when the system runs out of or doesn't support native file watchers.
1046
-
1047
- Requires TypeScript version 3.8 or later.
1048
1002
  */
1049
1003
  fallbackPolling?: WatchOptions.PollingWatchKind | Lowercase<WatchOptions.PollingWatchKind>;
1050
1004
 
@@ -1066,8 +1020,6 @@ declare namespace TsConfigJson {
1066
1020
 
1067
1021
  /**
1068
1022
  Auto type (.d.ts) acquisition options for this project.
1069
-
1070
- Requires TypeScript version 2.1 or later.
1071
1023
  */
1072
1024
  export type TypeAcquisition = {
1073
1025
  /**
@@ -1129,8 +1081,6 @@ export type TsConfigJson = {
1129
1081
 
1130
1082
  /**
1131
1083
  Auto type (.d.ts) acquisition options for this project.
1132
-
1133
- Requires TypeScript version 2.1 or later.
1134
1084
  */
1135
1085
  typeAcquisition?: TsConfigJson.TypeAcquisition;
1136
1086
 
@@ -1141,8 +1091,6 @@ export type TsConfigJson = {
1141
1091
 
1142
1092
  /**
1143
1093
  Path to base configuration file to inherit from.
1144
-
1145
- Requires TypeScript version 2.1 or later.
1146
1094
  */
1147
1095
  extends?: string;
1148
1096
 
@@ -1162,15 +1110,11 @@ export type TsConfigJson = {
1162
1110
  Specifies a list of glob patterns that match files to be included in compilation.
1163
1111
 
1164
1112
  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`.
1165
-
1166
- Requires TypeScript version 2.0 or later.
1167
1113
  */
1168
1114
  include?: string[];
1169
1115
 
1170
1116
  /**
1171
1117
  Referenced projects.
1172
-
1173
- Requires TypeScript version 3.0 or later.
1174
1118
  */
1175
1119
  references?: TsConfigJson.References[];
1176
1120
  };