tstyche 1.0.0-rc.2 → 1.0.0
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/CHANGELOG.md +5 -0
- package/build/tstyche.d.ts +22 -19
- package/build/tstyche.js +48 -74
- package/package.json +15 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.0.0] - 2024-02-20
|
|
4
|
+
|
|
5
|
+
_Stable release based on [1.0.0-rc.2]._
|
|
6
|
+
|
|
3
7
|
## [1.0.0-rc.2] - 2024-02-14
|
|
4
8
|
|
|
5
9
|
### Fixed
|
|
@@ -136,6 +140,7 @@
|
|
|
136
140
|
|
|
137
141
|
_First pre-release._
|
|
138
142
|
|
|
143
|
+
[1.0.0]: https://github.com/tstyche/tstyche/releases/tag/v1.0.0
|
|
139
144
|
[1.0.0-rc.2]: https://github.com/tstyche/tstyche/releases/tag/v1.0.0-rc.2
|
|
140
145
|
[1.0.0-rc.1]: https://github.com/tstyche/tstyche/releases/tag/v1.0.0-rc.1
|
|
141
146
|
[1.0.0-rc]: https://github.com/tstyche/tstyche/releases/tag/v1.0.0-rc
|
package/build/tstyche.d.ts
CHANGED
|
@@ -51,7 +51,6 @@ declare enum OptionBrand {
|
|
|
51
51
|
True = "true",// an option which does not take a value
|
|
52
52
|
List = "list"
|
|
53
53
|
}
|
|
54
|
-
|
|
55
54
|
declare enum OptionGroup {
|
|
56
55
|
CommandLine = 2,
|
|
57
56
|
ConfigFile = 4
|
|
@@ -179,7 +178,7 @@ declare class ConfigService {
|
|
|
179
178
|
declare class TSTyche {
|
|
180
179
|
#private;
|
|
181
180
|
readonly resolvedConfig: ResolvedConfig;
|
|
182
|
-
static readonly version = "1.0.0
|
|
181
|
+
static readonly version = "1.0.0";
|
|
183
182
|
constructor(resolvedConfig: ResolvedConfig, storeService: StoreService);
|
|
184
183
|
run(testFiles: Array<string | URL>): Promise<void>;
|
|
185
184
|
}
|
|
@@ -195,7 +194,6 @@ declare enum TestMemberBrand {
|
|
|
195
194
|
Test = "test",
|
|
196
195
|
Expect = "expect"
|
|
197
196
|
}
|
|
198
|
-
|
|
199
197
|
declare enum TestMemberFlags {
|
|
200
198
|
None = 0,
|
|
201
199
|
Fail = 1,
|
|
@@ -282,7 +280,6 @@ declare class ResultTiming {
|
|
|
282
280
|
get duration(): number;
|
|
283
281
|
}
|
|
284
282
|
|
|
285
|
-
type FileResultStatus = ResultStatus.Runs | ResultStatus.Passed | ResultStatus.Failed;
|
|
286
283
|
declare enum ResultStatus {
|
|
287
284
|
Runs = "runs",
|
|
288
285
|
Passed = "passed",
|
|
@@ -327,6 +324,7 @@ declare class DescribeResult {
|
|
|
327
324
|
constructor(describe: TestMember, parent: DescribeResult | undefined);
|
|
328
325
|
}
|
|
329
326
|
|
|
327
|
+
type FileResultStatus = ResultStatus.Runs | ResultStatus.Passed | ResultStatus.Failed;
|
|
330
328
|
declare class FileResult {
|
|
331
329
|
testFile: URL;
|
|
332
330
|
diagnostics: Array<Diagnostic>;
|
|
@@ -346,11 +344,12 @@ declare class ProjectResult {
|
|
|
346
344
|
constructor(compilerVersion: string, projectConfigFilePath: string | undefined);
|
|
347
345
|
}
|
|
348
346
|
|
|
347
|
+
type TargetResultStatus = ResultStatus.Runs | ResultStatus.Passed | ResultStatus.Failed;
|
|
349
348
|
declare class TargetResult {
|
|
350
349
|
versionTag: string;
|
|
351
350
|
testFiles: Array<URL>;
|
|
352
351
|
results: Map<string | undefined, ProjectResult>;
|
|
353
|
-
status:
|
|
352
|
+
status: TargetResultStatus;
|
|
354
353
|
timing: ResultTiming;
|
|
355
354
|
constructor(versionTag: string, testFiles: Array<URL>);
|
|
356
355
|
}
|
|
@@ -454,24 +453,30 @@ interface TypeChecker extends ts.TypeChecker {
|
|
|
454
453
|
declare class PrimitiveTypeMatcher {
|
|
455
454
|
#private;
|
|
456
455
|
typeChecker: TypeChecker;
|
|
457
|
-
constructor(typeChecker: TypeChecker, targetTypeFlag: ts.TypeFlags
|
|
458
|
-
match(sourceType: ts.Type
|
|
456
|
+
constructor(typeChecker: TypeChecker, targetTypeFlag: ts.TypeFlags);
|
|
457
|
+
match(sourceType: ts.Type): MatchResult;
|
|
459
458
|
}
|
|
460
459
|
|
|
461
|
-
declare class
|
|
462
|
-
#private;
|
|
460
|
+
declare abstract class RelationMatcherBase {
|
|
463
461
|
typeChecker: TypeChecker;
|
|
462
|
+
abstract relation: Relation;
|
|
463
|
+
abstract relationExplanationText: string;
|
|
464
464
|
constructor(typeChecker: TypeChecker);
|
|
465
|
+
protected explain(sourceType: ts.Type, targetType: ts.Type, isNot: boolean): Array<Diagnostic>;
|
|
465
466
|
match(sourceType: ts.Type, targetType: ts.Type, isNot: boolean): MatchResult;
|
|
466
467
|
}
|
|
467
468
|
|
|
468
|
-
declare class
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
constructor(typeChecker: TypeChecker);
|
|
469
|
+
declare class ToBeAssignable extends RelationMatcherBase {
|
|
470
|
+
relation: Relation;
|
|
471
|
+
relationExplanationText: string;
|
|
472
472
|
match(sourceType: ts.Type, targetType: ts.Type, isNot: boolean): MatchResult;
|
|
473
473
|
}
|
|
474
474
|
|
|
475
|
+
declare class ToEqual extends RelationMatcherBase {
|
|
476
|
+
relation: Relation;
|
|
477
|
+
relationExplanationText: string;
|
|
478
|
+
}
|
|
479
|
+
|
|
475
480
|
declare class ToHaveProperty {
|
|
476
481
|
#private;
|
|
477
482
|
compiler: typeof ts;
|
|
@@ -480,11 +485,9 @@ declare class ToHaveProperty {
|
|
|
480
485
|
match(sourceType: ts.Type, targetType: ts.StringLiteralType | ts.NumberLiteralType | ts.UniqueESSymbolType, isNot: boolean): MatchResult;
|
|
481
486
|
}
|
|
482
487
|
|
|
483
|
-
declare class ToMatch {
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
constructor(typeChecker: TypeChecker);
|
|
487
|
-
match(sourceType: ts.Type, targetType: ts.Type, isNot: boolean): MatchResult;
|
|
488
|
+
declare class ToMatch extends RelationMatcherBase {
|
|
489
|
+
relation: Relation;
|
|
490
|
+
relationExplanationText: string;
|
|
488
491
|
}
|
|
489
492
|
|
|
490
493
|
declare class ToRaiseError {
|
|
@@ -746,4 +749,4 @@ declare class Version {
|
|
|
746
749
|
static isVersionTag(target: string): boolean;
|
|
747
750
|
}
|
|
748
751
|
|
|
749
|
-
export { Assertion, Cli, CollectService, Color, type CommandLineOptions, type ConfigFileOptions, ConfigService, DescribeResult, Diagnostic, DiagnosticCategory, type DiagnosticOrigin, Environment, type Event, EventEmitter, type EventHandler, Expect, ExpectResult, FileResult, type FileResultStatus, type ItemDefinition, Line, Logger, type LoggerOptions, type MatchResult, OptionBrand, type OptionDefinition, OptionDefinitionsMap, OptionGroup, Path, ProjectResult, ProjectService, Reporter, type ResolvedConfig, Result, ResultCount, ResultManager, ResultStatus, ResultTiming, Scribbler, type ScribblerOptions, StoreService, SummaryReporter, TSTyche, TargetResult, TaskRunner, TestMember, TestMemberBrand, TestMemberFlags, TestResult, TestTree, Text, ThoroughReporter, type TypeChecker, Version, type WriteStream, addsPackageStepText, describeNameText, diagnosticText, fileStatusText, fileViewText, formattedText, helpText, summaryText, testNameText, usesCompilerStepText };
|
|
752
|
+
export { Assertion, Cli, CollectService, Color, type CommandLineOptions, type ConfigFileOptions, ConfigService, DescribeResult, Diagnostic, DiagnosticCategory, type DiagnosticOrigin, Environment, type Event, EventEmitter, type EventHandler, Expect, ExpectResult, FileResult, type FileResultStatus, type ItemDefinition, Line, Logger, type LoggerOptions, type MatchResult, OptionBrand, type OptionDefinition, OptionDefinitionsMap, OptionGroup, Path, ProjectResult, ProjectService, Reporter, type ResolvedConfig, Result, ResultCount, ResultManager, ResultStatus, ResultTiming, Scribbler, type ScribblerOptions, StoreService, SummaryReporter, TSTyche, TargetResult, type TargetResultStatus, TaskRunner, TestMember, TestMemberBrand, TestMemberFlags, TestResult, TestTree, Text, ThoroughReporter, type TypeChecker, Version, type WriteStream, addsPackageStepText, describeNameText, diagnosticText, fileStatusText, fileViewText, formattedText, helpText, summaryText, testNameText, usesCompilerStepText };
|
package/build/tstyche.js
CHANGED
|
@@ -999,6 +999,15 @@ class DescribeResult {
|
|
|
999
999
|
}
|
|
1000
1000
|
}
|
|
1001
1001
|
|
|
1002
|
+
var ResultStatus;
|
|
1003
|
+
(function (ResultStatus) {
|
|
1004
|
+
ResultStatus["Runs"] = "runs";
|
|
1005
|
+
ResultStatus["Passed"] = "passed";
|
|
1006
|
+
ResultStatus["Failed"] = "failed";
|
|
1007
|
+
ResultStatus["Skipped"] = "skipped";
|
|
1008
|
+
ResultStatus["Todo"] = "todo";
|
|
1009
|
+
})(ResultStatus || (ResultStatus = {}));
|
|
1010
|
+
|
|
1002
1011
|
class ExpectResult {
|
|
1003
1012
|
assertion;
|
|
1004
1013
|
parent;
|
|
@@ -1254,15 +1263,6 @@ class ResultManager {
|
|
|
1254
1263
|
}
|
|
1255
1264
|
}
|
|
1256
1265
|
|
|
1257
|
-
var ResultStatus;
|
|
1258
|
-
(function (ResultStatus) {
|
|
1259
|
-
ResultStatus["Runs"] = "runs";
|
|
1260
|
-
ResultStatus["Passed"] = "passed";
|
|
1261
|
-
ResultStatus["Failed"] = "failed";
|
|
1262
|
-
ResultStatus["Skipped"] = "skipped";
|
|
1263
|
-
ResultStatus["Todo"] = "todo";
|
|
1264
|
-
})(ResultStatus || (ResultStatus = {}));
|
|
1265
|
-
|
|
1266
1266
|
class TargetResult {
|
|
1267
1267
|
versionTag;
|
|
1268
1268
|
testFiles;
|
|
@@ -1695,7 +1695,6 @@ var TestMemberBrand;
|
|
|
1695
1695
|
TestMemberBrand["Test"] = "test";
|
|
1696
1696
|
TestMemberBrand["Expect"] = "expect";
|
|
1697
1697
|
})(TestMemberBrand || (TestMemberBrand = {}));
|
|
1698
|
-
|
|
1699
1698
|
var TestMemberFlags;
|
|
1700
1699
|
(function (TestMemberFlags) {
|
|
1701
1700
|
TestMemberFlags[TestMemberFlags["None"] = 0] = "None";
|
|
@@ -1708,69 +1707,61 @@ var TestMemberFlags;
|
|
|
1708
1707
|
class PrimitiveTypeMatcher {
|
|
1709
1708
|
typeChecker;
|
|
1710
1709
|
#targetTypeFlag;
|
|
1711
|
-
|
|
1712
|
-
constructor(typeChecker, targetTypeFlag, targetTypeText) {
|
|
1710
|
+
constructor(typeChecker, targetTypeFlag) {
|
|
1713
1711
|
this.typeChecker = typeChecker;
|
|
1714
1712
|
this.#targetTypeFlag = targetTypeFlag;
|
|
1715
|
-
this.#targetTypeText = targetTypeText;
|
|
1716
1713
|
}
|
|
1717
|
-
#explain(sourceType
|
|
1714
|
+
#explain(sourceType) {
|
|
1718
1715
|
const sourceTypeText = this.typeChecker.typeToString(sourceType);
|
|
1719
|
-
return
|
|
1720
|
-
? [Diagnostic.error(`Type '${this.#targetTypeText}' is identical to type '${sourceTypeText}'.`)]
|
|
1721
|
-
: [Diagnostic.error(`Type '${this.#targetTypeText}' is not identical to type '${sourceTypeText}'.`)];
|
|
1716
|
+
return [Diagnostic.error(`The source type is '${sourceTypeText}'.`)];
|
|
1722
1717
|
}
|
|
1723
|
-
match(sourceType
|
|
1718
|
+
match(sourceType) {
|
|
1724
1719
|
const isMatch = Boolean(sourceType.flags & this.#targetTypeFlag);
|
|
1725
1720
|
return {
|
|
1726
|
-
explain: () => this.#explain(sourceType
|
|
1721
|
+
explain: () => this.#explain(sourceType),
|
|
1727
1722
|
isMatch,
|
|
1728
1723
|
};
|
|
1729
1724
|
}
|
|
1730
1725
|
}
|
|
1731
1726
|
|
|
1732
|
-
class
|
|
1727
|
+
class RelationMatcherBase {
|
|
1733
1728
|
typeChecker;
|
|
1734
1729
|
constructor(typeChecker) {
|
|
1735
1730
|
this.typeChecker = typeChecker;
|
|
1736
1731
|
}
|
|
1737
|
-
|
|
1732
|
+
explain(sourceType, targetType, isNot) {
|
|
1738
1733
|
const sourceTypeText = this.typeChecker.typeToString(sourceType);
|
|
1739
1734
|
const targetTypeText = this.typeChecker.typeToString(targetType);
|
|
1740
1735
|
return isNot
|
|
1741
|
-
? [Diagnostic.error(`Type '${targetTypeText}' is
|
|
1742
|
-
: [Diagnostic.error(`Type '${targetTypeText}' is not
|
|
1736
|
+
? [Diagnostic.error(`Type '${targetTypeText}' is ${this.relationExplanationText} type '${sourceTypeText}'.`)]
|
|
1737
|
+
: [Diagnostic.error(`Type '${targetTypeText}' is not ${this.relationExplanationText} type '${sourceTypeText}'.`)];
|
|
1743
1738
|
}
|
|
1744
1739
|
match(sourceType, targetType, isNot) {
|
|
1745
|
-
const isMatch = this.typeChecker.isTypeRelatedTo(
|
|
1740
|
+
const isMatch = this.typeChecker.isTypeRelatedTo(sourceType, targetType, this.relation);
|
|
1746
1741
|
return {
|
|
1747
|
-
explain: () => this
|
|
1742
|
+
explain: () => this.explain(sourceType, targetType, isNot),
|
|
1748
1743
|
isMatch,
|
|
1749
1744
|
};
|
|
1750
1745
|
}
|
|
1751
1746
|
}
|
|
1752
1747
|
|
|
1753
|
-
class
|
|
1754
|
-
typeChecker;
|
|
1755
|
-
|
|
1756
|
-
this.typeChecker = typeChecker;
|
|
1757
|
-
}
|
|
1758
|
-
#explain(sourceType, targetType, isNot) {
|
|
1759
|
-
const sourceTypeText = this.typeChecker.typeToString(sourceType);
|
|
1760
|
-
const targetTypeText = this.typeChecker.typeToString(targetType);
|
|
1761
|
-
return isNot
|
|
1762
|
-
? [Diagnostic.error(`Type '${targetTypeText}' is identical to type '${sourceTypeText}'.`)]
|
|
1763
|
-
: [Diagnostic.error(`Type '${targetTypeText}' is not identical to type '${sourceTypeText}'.`)];
|
|
1764
|
-
}
|
|
1748
|
+
class ToBeAssignable extends RelationMatcherBase {
|
|
1749
|
+
relation = this.typeChecker.relation.assignable;
|
|
1750
|
+
relationExplanationText = "assignable to";
|
|
1765
1751
|
match(sourceType, targetType, isNot) {
|
|
1766
|
-
const isMatch = this.typeChecker.isTypeRelatedTo(
|
|
1752
|
+
const isMatch = this.typeChecker.isTypeRelatedTo(targetType, sourceType, this.relation);
|
|
1767
1753
|
return {
|
|
1768
|
-
explain: () => this
|
|
1754
|
+
explain: () => this.explain(sourceType, targetType, isNot),
|
|
1769
1755
|
isMatch,
|
|
1770
1756
|
};
|
|
1771
1757
|
}
|
|
1772
1758
|
}
|
|
1773
1759
|
|
|
1760
|
+
class ToEqual extends RelationMatcherBase {
|
|
1761
|
+
relation = this.typeChecker.relation.identity;
|
|
1762
|
+
relationExplanationText = "identical to";
|
|
1763
|
+
}
|
|
1764
|
+
|
|
1774
1765
|
class ToHaveProperty {
|
|
1775
1766
|
compiler;
|
|
1776
1767
|
typeChecker;
|
|
@@ -1812,25 +1803,9 @@ class ToHaveProperty {
|
|
|
1812
1803
|
}
|
|
1813
1804
|
}
|
|
1814
1805
|
|
|
1815
|
-
class ToMatch {
|
|
1816
|
-
typeChecker;
|
|
1817
|
-
|
|
1818
|
-
this.typeChecker = typeChecker;
|
|
1819
|
-
}
|
|
1820
|
-
#explain(sourceType, targetType, isNot) {
|
|
1821
|
-
const sourceTypeText = this.typeChecker.typeToString(sourceType);
|
|
1822
|
-
const targetTypeText = this.typeChecker.typeToString(targetType);
|
|
1823
|
-
return isNot
|
|
1824
|
-
? [Diagnostic.error(`Type '${targetTypeText}' is a subtype of type '${sourceTypeText}'.`)]
|
|
1825
|
-
: [Diagnostic.error(`Type '${targetTypeText}' is not a subtype of type '${sourceTypeText}'.`)];
|
|
1826
|
-
}
|
|
1827
|
-
match(sourceType, targetType, isNot) {
|
|
1828
|
-
const isMatch = this.typeChecker.isTypeRelatedTo(sourceType, targetType, this.typeChecker.relation.subtype);
|
|
1829
|
-
return {
|
|
1830
|
-
explain: () => this.#explain(sourceType, targetType, isNot),
|
|
1831
|
-
isMatch,
|
|
1832
|
-
};
|
|
1833
|
-
}
|
|
1806
|
+
class ToMatch extends RelationMatcherBase {
|
|
1807
|
+
relation = this.typeChecker.relation.subtype;
|
|
1808
|
+
relationExplanationText = "a subtype of";
|
|
1834
1809
|
}
|
|
1835
1810
|
|
|
1836
1811
|
class ToRaiseError {
|
|
@@ -1952,19 +1927,19 @@ class Expect {
|
|
|
1952
1927
|
constructor(compiler, typeChecker) {
|
|
1953
1928
|
this.compiler = compiler;
|
|
1954
1929
|
this.typeChecker = typeChecker;
|
|
1955
|
-
this.toBeAny = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Any
|
|
1930
|
+
this.toBeAny = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Any);
|
|
1956
1931
|
this.toBeAssignable = new ToBeAssignable(this.typeChecker);
|
|
1957
|
-
this.toBeBigInt = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.BigInt
|
|
1958
|
-
this.toBeBoolean = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Boolean
|
|
1959
|
-
this.toBeNever = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Never
|
|
1960
|
-
this.toBeNull = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Null
|
|
1961
|
-
this.toBeNumber = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Number
|
|
1962
|
-
this.toBeString = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.String
|
|
1963
|
-
this.toBeSymbol = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.ESSymbol
|
|
1964
|
-
this.toBeUndefined = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Undefined
|
|
1965
|
-
this.toBeUniqueSymbol = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.UniqueESSymbol
|
|
1966
|
-
this.toBeUnknown = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Unknown
|
|
1967
|
-
this.toBeVoid = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Void
|
|
1932
|
+
this.toBeBigInt = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.BigInt);
|
|
1933
|
+
this.toBeBoolean = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Boolean);
|
|
1934
|
+
this.toBeNever = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Never);
|
|
1935
|
+
this.toBeNull = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Null);
|
|
1936
|
+
this.toBeNumber = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Number);
|
|
1937
|
+
this.toBeString = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.String);
|
|
1938
|
+
this.toBeSymbol = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.ESSymbol);
|
|
1939
|
+
this.toBeUndefined = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Undefined);
|
|
1940
|
+
this.toBeUniqueSymbol = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.UniqueESSymbol);
|
|
1941
|
+
this.toBeUnknown = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Unknown);
|
|
1942
|
+
this.toBeVoid = new PrimitiveTypeMatcher(this.typeChecker, this.compiler.TypeFlags.Void);
|
|
1968
1943
|
this.toEqual = new ToEqual(this.typeChecker);
|
|
1969
1944
|
this.toHaveProperty = new ToHaveProperty(this.compiler, this.typeChecker);
|
|
1970
1945
|
this.toMatch = new ToMatch(this.typeChecker);
|
|
@@ -2021,7 +1996,7 @@ class Expect {
|
|
|
2021
1996
|
this.#onSourceArgumentMustBeProvided(assertion, expectResult);
|
|
2022
1997
|
return;
|
|
2023
1998
|
}
|
|
2024
|
-
return this[matcherNameText].match(this.#getType(assertion.source[0])
|
|
1999
|
+
return this[matcherNameText].match(this.#getType(assertion.source[0]));
|
|
2025
2000
|
case "toHaveProperty": {
|
|
2026
2001
|
if (assertion.source[0] == null) {
|
|
2027
2002
|
this.#onSourceArgumentMustBeProvided(assertion, expectResult);
|
|
@@ -2580,7 +2555,7 @@ class TSTyche {
|
|
|
2580
2555
|
#abortController = new AbortController();
|
|
2581
2556
|
#storeService;
|
|
2582
2557
|
#taskRunner;
|
|
2583
|
-
static version = "1.0.0
|
|
2558
|
+
static version = "1.0.0";
|
|
2584
2559
|
constructor(resolvedConfig, storeService) {
|
|
2585
2560
|
this.resolvedConfig = resolvedConfig;
|
|
2586
2561
|
this.#storeService = storeService;
|
|
@@ -3194,7 +3169,6 @@ var OptionBrand;
|
|
|
3194
3169
|
OptionBrand["True"] = "true";
|
|
3195
3170
|
OptionBrand["List"] = "list";
|
|
3196
3171
|
})(OptionBrand || (OptionBrand = {}));
|
|
3197
|
-
|
|
3198
3172
|
var OptionGroup;
|
|
3199
3173
|
(function (OptionGroup) {
|
|
3200
3174
|
OptionGroup[OptionGroup["CommandLine"] = 2] = "CommandLine";
|
|
@@ -3589,7 +3563,7 @@ class StoreService {
|
|
|
3589
3563
|
`The resolution of the '${tag}' tag may be outdated.`,
|
|
3590
3564
|
]));
|
|
3591
3565
|
}
|
|
3592
|
-
return
|
|
3566
|
+
return tag in this.#manifest.resolutions || this.#manifest.versions.includes(tag);
|
|
3593
3567
|
}
|
|
3594
3568
|
}
|
|
3595
3569
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tstyche",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "The Essential Type Testing Tool.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -50,35 +50,38 @@
|
|
|
50
50
|
"lint": "eslint ./ --config eslint.config.json --ext .js,.cts,.ts,.tsx",
|
|
51
51
|
"prepack": "yarn clean && yarn build",
|
|
52
52
|
"prepublish": "yarn test",
|
|
53
|
-
"test": "
|
|
53
|
+
"test": "yarn test:unit && yarn test:e2e",
|
|
54
54
|
"test:coverage": "yarn build --sourcemap && c8 --config c8.config.json yarn test:e2e",
|
|
55
|
-
"test:e2e": "
|
|
55
|
+
"test:e2e": "NODE_OPTIONS='--experimental-vm-modules --no-warnings' jest --config jest.config.js",
|
|
56
56
|
"test:examples": "tstyche examples",
|
|
57
57
|
"test:types": "tstyche tests",
|
|
58
|
-
"test:unit": "
|
|
58
|
+
"test:unit": "mocha --config mocha.config.json"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@jest/globals": "29.7.0",
|
|
62
62
|
"@rollup/plugin-typescript": "11.1.6",
|
|
63
|
-
"@types/
|
|
64
|
-
"@
|
|
65
|
-
"@
|
|
63
|
+
"@types/chai": "4.3.11",
|
|
64
|
+
"@types/mocha": "10.0.6",
|
|
65
|
+
"@types/node": "20.11.19",
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "7.0.2",
|
|
67
|
+
"@typescript-eslint/parser": "7.0.2",
|
|
66
68
|
"ajv": "8.12.0",
|
|
67
69
|
"c8": "9.1.0",
|
|
68
|
-
"
|
|
70
|
+
"chai": "5.1.0",
|
|
71
|
+
"cspell": "8.4.0",
|
|
69
72
|
"dprint": "0.45.0",
|
|
70
73
|
"eslint": "8.56.0",
|
|
71
74
|
"eslint-import-resolver-typescript": "3.6.1",
|
|
72
75
|
"eslint-plugin-import": "2.29.1",
|
|
73
|
-
"eslint-plugin-jest": "27.
|
|
76
|
+
"eslint-plugin-jest": "27.9.0",
|
|
74
77
|
"eslint-plugin-jest-formatting": "3.1.0",
|
|
75
78
|
"eslint-plugin-simple-import-sort": "12.0.0",
|
|
76
79
|
"jest": "29.7.0",
|
|
77
|
-
"jest-serializer-ansi-escapes": "2.0.1",
|
|
78
80
|
"magic-string": "0.30.7",
|
|
79
|
-
"
|
|
81
|
+
"mocha": "10.3.0",
|
|
82
|
+
"pretty-ansi": "1.0.0",
|
|
83
|
+
"rollup": "4.12.0",
|
|
80
84
|
"rollup-plugin-dts": "6.1.0",
|
|
81
|
-
"ts-node": "10.9.2",
|
|
82
85
|
"tslib": "2.6.2",
|
|
83
86
|
"typescript": "5.3.3"
|
|
84
87
|
},
|