Skip to content

Commit

Permalink
feat: Disallow "strict": false (#277)
Browse files Browse the repository at this point in the history
  • Loading branch information
ExE-Boss authored and sandersn committed Nov 29, 2021
1 parent 25155e9 commit cb23d17
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion packages/dtslint/src/checks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ export async function checkTsconfig(dirPath: string, dt: DefinitelyTypedInfo | u
case "lib":
case "noImplicitAny":
case "noImplicitThis":
case "strict":
case "strictNullChecks":
case "strictFunctionTypes":
case "esModuleInterop":
Expand Down Expand Up @@ -109,7 +110,17 @@ export async function checkTsconfig(dirPath: string, dt: DefinitelyTypedInfo | u
throw new Error('Must specify "lib", usually to `"lib": ["es6"]` or `"lib": ["es6", "dom"]`.');
}

if (!("strict" in options)) {
if ("strict" in options) {
if (options.strict !== true) {
throw new Error('When "strict" is present, it must be set to `true`.');
}

for (const key of ["noImplicitAny", "noImplicitThis", "strictNullChecks", "strictFunctionTypes"]) {
if (key in options) {
throw new TypeError(`Expected "${key}" to not be set when "strict" is \`true\`.`);
}
}
} else {
for (const key of ["noImplicitAny", "noImplicitThis", "strictNullChecks", "strictFunctionTypes"]) {
if (!(key in options)) {
throw new Error(`Expected \`"${key}": true\` or \`"${key}": false\`.`);
Expand Down

0 comments on commit cb23d17

Please sign in to comment.