tstyche 2.1.1 → 3.0.0-beta.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/README.md CHANGED
@@ -2,10 +2,8 @@
2
2
 
3
3
  [![version][version-badge]][version-url]
4
4
  [![license][license-badge]][license-url]
5
- [![requirements][requirements-badge]][requirements-url]
6
5
  [![install-size][install-size-badge]][install-size-url]
7
6
  [![coverage][coverage-badge]][coverage-url]
8
- [![discord][discord-badge]][discord-url]
9
7
 
10
8
  The Essential Type Testing Tool.
11
9
 
@@ -80,7 +78,7 @@ Visit [https://tstyche.org](https://tstyche.org) to view the full documentation.
80
78
 
81
79
  ## Feedback
82
80
 
83
- If you have any questions or suggestions, [start a discussion](https://github.com/tstyche/tstyche/discussions/new/choose) or [open an issue](https://github.com/tstyche/tstyche/issues/new/choose) on GitHub. Preferring a chat? Join our [Discord server][discord-url].
81
+ If you have any questions or suggestions, [start a discussion](https://github.com/tstyche/tstyche/discussions/new/choose) or [open an issue](https://github.com/tstyche/tstyche/issues/new/choose) on GitHub. Preferring a chat? Join our [Discord server](https://discord.gg/gCSasd3QJq).
84
82
 
85
83
  ## License
86
84
 
@@ -90,11 +88,7 @@ If you have any questions or suggestions, [start a discussion](https://github.co
90
88
  [version-url]: https://npmjs.com/package/tstyche
91
89
  [license-badge]: https://badgen.net/github/license/tstyche/tstyche
92
90
  [license-url]: https://github.com/tstyche/tstyche/blob/main/LICENSE.md
93
- [requirements-badge]: https://badgen.net/npm/node/tstyche
94
- [requirements-url]: https://tstyche.org/reference/requirements
95
91
  [install-size-badge]: https://badgen.net/packagephobia/install/tstyche
96
92
  [install-size-url]: https://packagephobia.com/result?p=tstyche
97
93
  [coverage-badge]: https://badgen.net/codacy/coverage/a581ca5c323a455886b7bdd9623c4ec8
98
94
  [coverage-url]: https://app.codacy.com/gh/tstyche/tstyche/coverage/dashboard
99
- [discord-badge]: https://badgen.net/static/chat/on%20Discord
100
- [discord-url]: https://discord.gg/gCSasd3QJq
@@ -1,67 +1,5 @@
1
1
  import type ts from 'typescript';
2
2
 
3
- declare enum CancellationReason {
4
- ConfigChange = "configChange",
5
- ConfigError = "configError",
6
- FailFast = "failFast",
7
- WatchClose = "watchClose"
8
- }
9
-
10
- declare class CancellationToken {
11
- #private;
12
- get isCancellationRequested(): boolean;
13
- get reason(): CancellationReason | undefined;
14
- cancel(reason: CancellationReason): void;
15
- reset(): void;
16
- }
17
-
18
- declare class StoreService {
19
- #private;
20
- constructor();
21
- getSupportedTags(): Promise<Array<string>>;
22
- install(tag: string, cancellationToken?: CancellationToken): Promise<string | undefined>;
23
- load(tag: string, cancellationToken?: CancellationToken): Promise<typeof ts | undefined>;
24
- open(): Promise<void>;
25
- update(): Promise<void>;
26
- validateTag(tag: string): Promise<boolean | undefined>;
27
- }
28
-
29
- declare enum OptionBrand {
30
- String = "string",
31
- Number = "number",
32
- Boolean = "boolean",
33
- BareTrue = "bareTrue",// a boolean option that does not take a value and when specified is interpreted as 'true'
34
- List = "list"
35
- }
36
- declare enum OptionGroup {
37
- CommandLine = 2,
38
- ConfigFile = 4
39
- }
40
-
41
- interface ItemDefinition {
42
- brand: OptionBrand.String;
43
- name: string;
44
- pattern?: string;
45
- }
46
- type OptionDefinition = PrimitiveTypeOptionDefinition | ListTypeOptionDefinition;
47
- interface BaseOptionDefinition {
48
- brand: OptionBrand;
49
- description: string;
50
- group: OptionGroup;
51
- name: string;
52
- }
53
- interface PrimitiveTypeOptionDefinition extends BaseOptionDefinition {
54
- brand: OptionBrand.String | OptionBrand.Number | OptionBrand.Boolean | OptionBrand.BareTrue;
55
- }
56
- interface ListTypeOptionDefinition extends BaseOptionDefinition {
57
- brand: OptionBrand.List;
58
- items: ItemDefinition;
59
- }
60
- declare class OptionDefinitionsMap {
61
- #private;
62
- static for(optionGroup: OptionGroup): Map<string, OptionDefinition>;
63
- }
64
-
65
3
  declare class TestTree {
66
4
  diagnostics: Set<ts.Diagnostic>;
67
5
  members: Array<TestMember | Assertion>;
@@ -147,10 +85,31 @@ declare class Diagnostic {
147
85
  static error(text: string | Array<string>, origin?: DiagnosticOrigin): Diagnostic;
148
86
  extendWith(text: string | Array<string>, origin?: DiagnosticOrigin): Diagnostic;
149
87
  static fromDiagnostics(diagnostics: Array<ts.Diagnostic>, compiler: typeof ts): Array<Diagnostic>;
150
- static fromError(text: string | Array<string>, error: unknown): Diagnostic;
151
88
  static warning(text: string | Array<string>, origin?: DiagnosticOrigin): Diagnostic;
152
89
  }
153
90
 
91
+ /**
92
+ * Options loaded from the configuration file.
93
+ */
94
+ interface ConfigFileOptions {
95
+ /**
96
+ * Stop running tests after the first failed assertion.
97
+ */
98
+ failFast?: boolean;
99
+ /**
100
+ * The path to a directory containing files of a test project.
101
+ */
102
+ rootPath?: string;
103
+ /**
104
+ * The list of TypeScript versions to be tested on.
105
+ */
106
+ target?: Array<string>;
107
+ /**
108
+ * The list of glob patterns matching the test files.
109
+ */
110
+ testFileMatch?: Array<string>;
111
+ }
112
+
154
113
  /**
155
114
  * Options passed through the command line.
156
115
  */
@@ -209,6 +168,49 @@ interface CommandLineOptions {
209
168
  watch?: boolean;
210
169
  }
211
170
 
171
+ interface EnvironmentOptions {
172
+ /**
173
+ * Is `true` if the process is running in a continuous integration environment.
174
+ */
175
+ isCi: boolean;
176
+ /**
177
+ * Specifies whether color should be disabled in the output.
178
+ */
179
+ noColor: boolean;
180
+ /**
181
+ * Specifies whether interactive elements should be disabled in the output.
182
+ */
183
+ noInteractive: boolean;
184
+ /**
185
+ * The base URL of the 'npm' registry to use.
186
+ */
187
+ npmRegistry: string;
188
+ /**
189
+ * The directory where to store the 'typescript' packages.
190
+ */
191
+ storePath: string;
192
+ /**
193
+ * The number of seconds to wait before giving up stale operations.
194
+ */
195
+ timeout: number;
196
+ /**
197
+ * The path to the currently installed TypeScript module.
198
+ */
199
+ typescriptPath: string | undefined;
200
+ }
201
+
202
+ declare enum OptionBrand {
203
+ String = "string",
204
+ Number = "number",
205
+ Boolean = "boolean",
206
+ BareTrue = "bareTrue",// a boolean option that does not take a value and when specified is interpreted as 'true'
207
+ List = "list"
208
+ }
209
+ declare enum OptionGroup {
210
+ CommandLine = 2,
211
+ ConfigFile = 4
212
+ }
213
+
212
214
  declare class ConfigDiagnosticText {
213
215
  #private;
214
216
  static doubleQuotesExpected(): string;
@@ -222,29 +224,19 @@ declare class ConfigDiagnosticText {
222
224
  static watchCannotBeEnabled(): string;
223
225
  }
224
226
 
225
- /**
226
- * Options loaded from the configuration file.
227
- */
228
- interface ConfigFileOptions {
229
- /**
230
- * Stop running tests after the first failed assertion.
231
- */
232
- failFast?: boolean;
233
- /**
234
- * The path to a directory containing files of a test project.
235
- */
236
- rootPath?: string;
237
- /**
238
- * The list of TypeScript versions to be tested on.
239
- */
240
- target?: Array<string>;
241
- /**
242
- * The list of glob patterns matching the test files.
243
- */
244
- testFileMatch?: Array<string>;
227
+ declare class StoreService {
228
+ #private;
229
+ constructor();
230
+ getSupportedTags(): Promise<Array<string> | undefined>;
231
+ install(tag: string): Promise<void>;
232
+ load(tag: string): Promise<typeof ts | undefined>;
233
+ open(): Promise<void>;
234
+ prune(): Promise<void>;
235
+ update(): Promise<void>;
236
+ validateTag(tag: string): Promise<boolean | undefined>;
245
237
  }
246
238
 
247
- interface ResolvedConfig extends Omit<CommandLineOptions, keyof ConfigFileOptions | "config">, Required<ConfigFileOptions> {
239
+ interface ResolvedConfig extends EnvironmentOptions, Omit<CommandLineOptions, keyof ConfigFileOptions | "config">, Required<ConfigFileOptions> {
248
240
  /**
249
241
  * The path to a TSTyche configuration file.
250
242
  */
@@ -254,15 +246,41 @@ interface ResolvedConfig extends Omit<CommandLineOptions, keyof ConfigFileOption
254
246
  */
255
247
  pathMatch: Array<string>;
256
248
  }
257
- declare const defaultOptions: Required<ConfigFileOptions>;
258
249
  declare class ConfigService {
259
250
  #private;
260
- constructor(compiler: typeof ts, storeService: StoreService);
261
- parseCommandLine(commandLineArgs: Array<string>): Promise<void>;
262
- readConfigFile(): Promise<void>;
251
+ parseCommandLine(commandLineArgs: Array<string>, storeService: StoreService): Promise<void>;
252
+ readConfigFile(storeService: StoreService): Promise<void>;
263
253
  resolveConfig(): ResolvedConfig;
264
254
  }
265
255
 
256
+ interface ItemDefinition {
257
+ brand: OptionBrand.String;
258
+ name: string;
259
+ pattern?: string;
260
+ }
261
+ type OptionDefinition = PrimitiveTypeOptionDefinition | ListTypeOptionDefinition;
262
+ interface BaseOptionDefinition {
263
+ brand: OptionBrand;
264
+ description: string;
265
+ group: OptionGroup;
266
+ name: string;
267
+ }
268
+ interface PrimitiveTypeOptionDefinition extends BaseOptionDefinition {
269
+ brand: OptionBrand.String | OptionBrand.Number | OptionBrand.Boolean | OptionBrand.BareTrue;
270
+ }
271
+ interface ListTypeOptionDefinition extends BaseOptionDefinition {
272
+ brand: OptionBrand.List;
273
+ items: ItemDefinition;
274
+ }
275
+ declare class OptionDefinitionsMap {
276
+ #private;
277
+ static for(optionGroup: OptionGroup): Map<string, OptionDefinition>;
278
+ }
279
+
280
+ declare const defaultOptions: Required<ConfigFileOptions>;
281
+
282
+ declare const environmentOptions: EnvironmentOptions;
283
+
266
284
  declare enum Color {
267
285
  Reset = "0",
268
286
  Red = "31",
@@ -320,19 +338,12 @@ interface TextProps {
320
338
  }
321
339
  declare function Text({ children, color, indent }: TextProps): ScribblerJsx.Element;
322
340
 
323
- declare function addsPackageStepText(compilerVersion: string, installationPath: string): ScribblerJsx.Element;
341
+ declare function addsPackageText(packageVersion: string, packagePath: string): ScribblerJsx.Element;
324
342
 
325
343
  declare function describeNameText(name: string, indent?: number): ScribblerJsx.Element;
326
344
 
327
345
  declare function diagnosticText(diagnostic: Diagnostic): ScribblerJsx.Element;
328
346
 
329
- declare class TestFile {
330
- #private;
331
- path: string;
332
- position: number | undefined;
333
- constructor(identifier: string | URL, position?: number);
334
- }
335
-
336
347
  declare class ResultTiming {
337
348
  end: number;
338
349
  start: number;
@@ -383,23 +394,30 @@ declare class DescribeResult {
383
394
  constructor(describe: TestMember, parent?: DescribeResult);
384
395
  }
385
396
 
386
- type FileResultStatus = ResultStatus.Runs | ResultStatus.Passed | ResultStatus.Failed;
387
- declare class FileResult {
397
+ declare class Task {
398
+ #private;
399
+ filePath: string;
400
+ position: number | undefined;
401
+ constructor(filePath: string | URL, position?: number);
402
+ }
403
+
404
+ type TaskResultStatus = ResultStatus.Runs | ResultStatus.Passed | ResultStatus.Failed;
405
+ declare class TaskResult {
388
406
  diagnostics: Array<Diagnostic>;
389
407
  expectCount: ResultCount;
390
408
  results: Array<DescribeResult | TestResult | ExpectResult>;
391
- status: FileResultStatus;
409
+ status: TaskResultStatus;
410
+ task: Task;
392
411
  testCount: ResultCount;
393
- testFile: TestFile;
394
412
  timing: ResultTiming;
395
- constructor(testFile: TestFile);
413
+ constructor(task: Task);
396
414
  }
397
415
 
398
416
  declare class ProjectResult {
399
417
  compilerVersion: string;
400
418
  diagnostics: Array<Diagnostic>;
401
419
  projectConfigFilePath: string | undefined;
402
- results: Array<FileResult>;
420
+ results: Array<TaskResult>;
403
421
  constructor(compilerVersion: string, projectConfigFilePath: string | undefined);
404
422
  }
405
423
 
@@ -407,10 +425,10 @@ type TargetResultStatus = ResultStatus.Runs | ResultStatus.Passed | ResultStatus
407
425
  declare class TargetResult {
408
426
  results: Map<string | undefined, ProjectResult>;
409
427
  status: TargetResultStatus;
410
- testFiles: Array<TestFile>;
428
+ tasks: Array<Task>;
411
429
  timing: ResultTiming;
412
430
  versionTag: string;
413
- constructor(versionTag: string, testFiles: Array<TestFile>);
431
+ constructor(versionTag: string, tasks: Array<Task>);
414
432
  }
415
433
 
416
434
  declare class Result {
@@ -419,13 +437,13 @@ declare class Result {
419
437
  resolvedConfig: ResolvedConfig;
420
438
  results: Array<TargetResult>;
421
439
  targetCount: ResultCount;
440
+ tasks: Array<Task>;
422
441
  testCount: ResultCount;
423
- testFiles: Array<TestFile>;
424
442
  timing: ResultTiming;
425
- constructor(resolvedConfig: ResolvedConfig, testFiles: Array<TestFile>);
443
+ constructor(resolvedConfig: ResolvedConfig, tasks: Array<Task>);
426
444
  }
427
445
 
428
- declare function fileStatusText(status: FileResultStatus, testFile: TestFile): ScribblerJsx.Element;
446
+ declare function taskStatusText(status: TaskResultStatus, task: Task): ScribblerJsx.Element;
429
447
 
430
448
  declare function fileViewText(lines: Array<ScribblerJsx.Element>, addEmptyFinalLine: boolean): ScribblerJsx.Element;
431
449
 
@@ -433,17 +451,9 @@ declare function formattedText(input: string | Array<string> | Record<string, un
433
451
 
434
452
  declare function helpText(optionDefinitions: Map<string, OptionDefinition>, tstycheVersion: string): ScribblerJsx.Element;
435
453
 
436
- interface WriteStream {
437
- write: (chunk: string) => void;
438
- }
439
- interface OutputServiceOptions {
440
- noColor?: boolean;
441
- stderr?: WriteStream;
442
- stdout?: WriteStream;
443
- }
444
454
  declare class OutputService {
445
455
  #private;
446
- constructor(options?: OutputServiceOptions);
456
+ constructor();
447
457
  clearTerminal(): void;
448
458
  eraseLastLine(): void;
449
459
  writeError(element: ScribblerJsx.Element | Array<ScribblerJsx.Element>): void;
@@ -464,7 +474,7 @@ declare function summaryText({ duration, expectCount, fileCount, onlyMatch, path
464
474
 
465
475
  declare function testNameText(status: "fail" | "pass" | "skip" | "todo", name: string, indent?: number): ScribblerJsx.Element;
466
476
 
467
- declare function usesCompilerStepText(compilerVersion: string, tsconfigFilePath: string | undefined, options?: {
477
+ declare function usesCompilerText(compilerVersion: string, projectConfigFilePath: string | undefined, options?: {
468
478
  prependEmptyLine: boolean;
469
479
  }): ScribblerJsx.Element;
470
480
 
@@ -485,6 +495,21 @@ declare class SelectService {
485
495
  selectFiles(): Promise<Array<string>>;
486
496
  }
487
497
 
498
+ declare enum CancellationReason {
499
+ ConfigChange = "configChange",
500
+ ConfigError = "configError",
501
+ FailFast = "failFast",
502
+ WatchClose = "watchClose"
503
+ }
504
+
505
+ declare class CancellationToken {
506
+ #private;
507
+ get isCancellationRequested(): boolean;
508
+ get reason(): CancellationReason | undefined;
509
+ cancel(reason: CancellationReason): void;
510
+ reset(): void;
511
+ }
512
+
488
513
  declare class TSTyche {
489
514
  #private;
490
515
  static version: string;
@@ -498,65 +523,35 @@ declare class Cli {
498
523
  run(commandLineArguments: Array<string>, cancellationToken?: CancellationToken): Promise<void>;
499
524
  }
500
525
 
501
- declare class Environment {
502
- #private;
503
- /**
504
- * Is `true` if the process is running in a continuous integration environment.
505
- */
506
- static get isCi(): boolean;
507
- /**
508
- * Specifies whether color should be disabled in the output.
509
- */
510
- static get noColor(): boolean;
511
- /**
512
- * Specifies whether interactive elements should be disabled in the output.
513
- */
514
- static get noInteractive(): boolean;
515
- /**
516
- * The directory where to store the 'typescript' packages.
517
- */
518
- static get storePath(): string;
519
- /**
520
- * The number of seconds to wait before giving up stale operations.
521
- */
522
- static get timeout(): number;
523
- /**
524
- * The path to the currently installed TypeScript module.
525
- */
526
- static get typescriptPath(): string | undefined;
527
- }
528
-
529
526
  type Event = ["config:error", {
530
527
  diagnostics: Array<Diagnostic>;
531
- }] | ["deprecation:info", {
532
- diagnostics: Array<Diagnostic>;
533
528
  }] | ["select:error", {
534
529
  diagnostics: Array<Diagnostic>;
535
530
  }] | ["run:start", {
536
531
  result: Result;
537
532
  }] | ["run:end", {
538
533
  result: Result;
539
- }] | ["store:info", {
540
- compilerVersion: string;
541
- installationPath: string;
534
+ }] | ["store:adds", {
535
+ packagePath: string;
536
+ packageVersion: string;
542
537
  }] | ["store:error", {
543
538
  diagnostics: Array<Diagnostic>;
544
539
  }] | ["target:start", {
545
540
  result: TargetResult;
546
541
  }] | ["target:end", {
547
542
  result: TargetResult;
548
- }] | ["project:info", {
543
+ }] | ["project:uses", {
549
544
  compilerVersion: string;
550
545
  projectConfigFilePath: string | undefined;
551
546
  }] | ["project:error", {
552
547
  diagnostics: Array<Diagnostic>;
553
- }] | ["file:start", {
554
- result: FileResult;
555
- }] | ["file:error", {
548
+ }] | ["task:start", {
549
+ result: TaskResult;
550
+ }] | ["task:error", {
556
551
  diagnostics: Array<Diagnostic>;
557
- result: FileResult;
558
- }] | ["file:end", {
559
- result: FileResult;
552
+ result: TaskResult;
553
+ }] | ["task:end", {
554
+ result: TaskResult;
560
555
  }] | ["describe:start", {
561
556
  result: DescribeResult;
562
557
  }] | ["describe:end", {
@@ -656,7 +651,6 @@ declare class ExpectDiagnosticText {
656
651
  static argumentMustBeProvided(argumentNameText: string): string;
657
652
  static componentAcceptsProps(isTypeNode: boolean): string;
658
653
  static componentDoesNotAcceptProps(isTypeNode: boolean): string;
659
- static matcherIsDeprecated(matcherNameText: string): Array<string>;
660
654
  static matcherIsNotSupported(matcherNameText: string): string;
661
655
  static overloadGaveTheFollowingError(index: number, count: number, signatureText: string): string;
662
656
  static raisedTypeError(count?: number): string;
@@ -729,7 +723,6 @@ declare class ExpectService {
729
723
  toAcceptProps: ToAcceptProps;
730
724
  toBe: ToBe;
731
725
  toBeAny: PrimitiveTypeMatcher;
732
- toBeAssignable: ToBeAssignableWith;
733
726
  toBeAssignableTo: ToBeAssignableTo;
734
727
  toBeAssignableWith: ToBeAssignableWith;
735
728
  toBeBigInt: PrimitiveTypeMatcher;
@@ -743,12 +736,10 @@ declare class ExpectService {
743
736
  toBeUniqueSymbol: PrimitiveTypeMatcher;
744
737
  toBeUnknown: PrimitiveTypeMatcher;
745
738
  toBeVoid: PrimitiveTypeMatcher;
746
- toEqual: ToBe;
747
739
  toHaveProperty: ToHaveProperty;
748
740
  toMatch: ToMatch;
749
741
  toRaiseError: ToRaiseError;
750
742
  constructor(compiler: typeof ts, typeChecker: TypeChecker);
751
- static assertTypeChecker(typeChecker: ts.TypeChecker): typeChecker is TypeChecker;
752
743
  match(assertion: Assertion, onDiagnostics: DiagnosticsHandler): MatchResult | undefined;
753
744
  }
754
745
 
@@ -794,19 +785,9 @@ declare class WatchReporter extends Reporter implements EventHandler {
794
785
  }
795
786
 
796
787
  type InputHandler = (chunk: string) => void;
797
- interface ReadStream {
798
- addListener: (event: "data", handler: InputHandler) => this;
799
- removeListener: (event: "data", handler: InputHandler) => this;
800
- setEncoding: (encoding: "utf8") => this;
801
- setRawMode?: (mode: boolean) => this;
802
- unref: () => this;
803
- }
804
- interface InputServiceOptions {
805
- stdin?: ReadStream;
806
- }
807
788
  declare class InputService {
808
789
  #private;
809
- constructor(onInput: InputHandler, options?: InputServiceOptions);
790
+ constructor(onInput: InputHandler);
810
791
  close(): void;
811
792
  }
812
793
 
@@ -827,11 +808,11 @@ declare class ProjectService {
827
808
  openFile(filePath: string, sourceText?: string | undefined, projectRootPath?: string | undefined): void;
828
809
  }
829
810
 
830
- declare class TaskRunner {
811
+ declare class Runner {
831
812
  #private;
832
813
  constructor(resolvedConfig: ResolvedConfig, selectService: SelectService, storeService: StoreService);
833
814
  close(): void;
834
- run(testFiles: Array<TestFile>, cancellationToken?: CancellationToken): Promise<void>;
815
+ run(tasks: Array<Task>, cancellationToken?: CancellationToken): Promise<void>;
835
816
  }
836
817
 
837
818
  declare class Version {
@@ -859,8 +840,8 @@ declare class FileWatcher extends Watcher {
859
840
 
860
841
  declare class WatchService {
861
842
  #private;
862
- constructor(resolvedConfig: ResolvedConfig, selectService: SelectService, testFiles: Array<TestFile>);
863
- watch(cancellationToken: CancellationToken): AsyncIterable<Array<TestFile>>;
843
+ constructor(resolvedConfig: ResolvedConfig, selectService: SelectService, tasks: Array<Task>);
844
+ watch(cancellationToken: CancellationToken): AsyncIterable<Array<Task>>;
864
845
  }
865
846
 
866
- export { Assertion, CancellationHandler, CancellationReason, CancellationToken, Cli, CollectService, Color, type CommandLineOptions, ConfigDiagnosticText, type ConfigFileOptions, ConfigService, DescribeResult, Diagnostic, DiagnosticCategory, DiagnosticOrigin, Environment, type Event, EventEmitter, type EventHandler, ExitCodeHandler, ExpectResult, ExpectService, FileResult, type FileResultStatus, type FileWatchHandler, FileWatcher, type InputHandler, InputService, type InputServiceOptions, type ItemDefinition, Line, type MatchResult, OptionBrand, type OptionDefinition, OptionDefinitionsMap, OptionGroup, OutputService, type OutputServiceOptions, Path, ProjectResult, ProjectService, type ReadStream, type ResolvedConfig, Result, ResultCount, ResultHandler, ResultStatus, ResultTiming, RunReporter, Scribbler, ScribblerJsx, type ScribblerOptions, SelectDiagnosticText, SelectService, SetupReporter, StoreService, SummaryReporter, TSTyche, TargetResult, type TargetResultStatus, TaskRunner, TestFile, TestMember, TestMemberBrand, TestMemberFlags, TestResult, TestTree, Text, type TypeChecker, Version, type WatchHandler, WatchReporter, WatchService, Watcher, type WatcherOptions, type WriteStream, addsPackageStepText, defaultOptions, describeNameText, diagnosticText, fileStatusText, fileViewText, formattedText, helpText, summaryText, testNameText, usesCompilerStepText, waitingForFileChangesText, watchUsageText };
847
+ export { Assertion, CancellationHandler, CancellationReason, CancellationToken, Cli, CollectService, Color, type CommandLineOptions, ConfigDiagnosticText, type ConfigFileOptions, ConfigService, DescribeResult, Diagnostic, DiagnosticCategory, DiagnosticOrigin, type Event, EventEmitter, type EventHandler, ExitCodeHandler, ExpectResult, ExpectService, type FileWatchHandler, FileWatcher, type InputHandler, InputService, type ItemDefinition, Line, type MatchResult, OptionBrand, type OptionDefinition, OptionDefinitionsMap, OptionGroup, OutputService, Path, ProjectResult, ProjectService, type ResolvedConfig, Result, ResultCount, ResultHandler, ResultStatus, ResultTiming, RunReporter, Runner, Scribbler, ScribblerJsx, type ScribblerOptions, SelectDiagnosticText, SelectService, SetupReporter, StoreService, SummaryReporter, TSTyche, TargetResult, type TargetResultStatus, Task, TaskResult, type TaskResultStatus, TestMember, TestMemberBrand, TestMemberFlags, TestResult, TestTree, Text, type TypeChecker, Version, type WatchHandler, WatchReporter, WatchService, Watcher, type WatcherOptions, addsPackageText, defaultOptions, describeNameText, diagnosticText, environmentOptions, fileViewText, formattedText, helpText, summaryText, taskStatusText, testNameText, usesCompilerText, waitingForFileChangesText, watchUsageText };