This commit is contained in:
TypeScript Bot
2021-12-07 16:01:14 +00:00
parent b62202fd20
commit a50e282381
2 changed files with 23 additions and 23 deletions

View File

@@ -77,7 +77,11 @@ export function checkTsconfig(options: CompilerOptions, dt: DefinitelyTypedInfo
const expected = mustHave[key];
const actual = options[key];
if (!deepEquals(expected, actual)) {
throw new Error(`Expected compilerOptions[${JSON.stringify(key)}] === ${JSON.stringify(expected)}, but got ${JSON.stringify(actual)}`);
throw new Error(
`Expected compilerOptions[${JSON.stringify(key)}] === ${JSON.stringify(expected)}, but got ${JSON.stringify(
actual
)}`
);
}
}

View File

@@ -30,34 +30,31 @@ function testSingle(testDirectory: string) {
describe("dtslint", () => {
const base = {
"module": "commonjs" as any,
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true,
module: "commonjs" as any,
lib: ["es6"],
noImplicitAny: true,
noImplicitThis: true,
strictNullChecks: true,
strictFunctionTypes: true,
baseUrl: "../",
typeRoots: ["../"],
types: [],
noEmit: true,
forceConsistentCasingInFileNames: true
};
describe("checks", () => {
it("disallows unknown compiler options", () => {
expect(() => checkTsconfig({ ...base, completelyInvented: true }, { relativeBaseUrl: "../" }))
.toThrow("Unexpected compiler option completelyInvented");
expect(() => checkTsconfig({ ...base, completelyInvented: true }, { relativeBaseUrl: "../" })).toThrow(
"Unexpected compiler option completelyInvented"
);
});
it("allows exactOptionalPropertyTypes: true", () => {
expect(checkTsconfig({ ...base, exactOptionalPropertyTypes: true }, { relativeBaseUrl: "../" }))
.toBeFalsy();
expect(checkTsconfig({ ...base, exactOptionalPropertyTypes: true }, { relativeBaseUrl: "../" })).toBeFalsy();
});
it("disallows exactOptionalPropertyTypes: false", () => {
expect(() => checkTsconfig({ ...base, exactOptionalPropertyTypes: false }, { relativeBaseUrl: "../" }))
.toThrow("When \"exactOptionalPropertyTypes\" is present, it must be set to `true`.");
expect(() => checkTsconfig({ ...base, exactOptionalPropertyTypes: false }, { relativeBaseUrl: "../" })).toThrow(
'When "exactOptionalPropertyTypes" is present, it must be set to `true`.'
);
});
});
describe("rules", () => {
@@ -74,4 +71,3 @@ describe("dtslint", () => {
}
});
});